AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Forms und dergleichen selbst zeichnen?

Ein Thema von Memnarch · begonnen am 6. Jul 2011 · letzter Beitrag vom 13. Jul 2011
Antwort Antwort
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#1

Forms und dergleichen selbst zeichnen?

  Alt 6. Jul 2011, 09:39
Tag allerseits.

Was mich mal interressieren würde: Wenn ich eine Form selbst zeichnen möchte(also den rahmen etc), wie sollte ich am besten vorgehen? Da ich andere teile des Programs nicht ändernmöchte bzw bereits existierende forms so zeichnen soll wie ich es möchte, wäre ich dafür schonmal so verfahren, dass ich von TForm eine ableitung mache und die als letztes ins uses packe, sodass meine TForm declaration überal genutzt wird.

Aber wie weiter?

Borderless form und darauf zeichnen?(hier bliebe das problem dass ich mich auch im den Clientbereich kümmern müsste (width/height))



MFG
Memnarch
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden

Geändert von Memnarch ( 6. Jul 2011 um 09:44 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#2

AW: Forms und dergleichen selbst zeichnen?

  Alt 13. Jul 2011, 09:29
Also ich habe es inzwischen geschafft den Rahmen selbst zu zeichnen. Bleiben nur ein paar sachen:

1: Wie komm ich an die Buttons oben rechts(minimize, close, etc). Oder soll ich die einfach entfernen und meine eigenen hinsetzen?

2: Wie komm ich an die Größe des TMainMenu? Hab im moment die höhe Hardcoded(durch probieren rausgefunden). Aber das gilt halt nur für mein system. Andere können andere ausmaße haben.

MFG
Memnarch
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Forms und dergleichen selbst zeichnen?

  Alt 13. Jul 2011, 10:41
Dein Menu Handle
GetWindowRect(MenuHandle)
Anschließend den OffsetRect setzen und diesen festhalten zur späteren verwendung.

ah jo Handle bekommst über GetMenu(handle deiner Anwendung(Fenster))

gruss

Geändert von EWeiss (13. Jul 2011 um 10:52 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#4

AW: Forms und dergleichen selbst zeichnen?

  Alt 13. Jul 2011, 10:59
Ah super, danke .

Jetzt muss ich nurnoch an die Buttons(Maximize, minimize, close) rankommen.


MFG
Memnarch
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Forms und dergleichen selbst zeichnen?

  Alt 13. Jul 2011, 12:04
Ah super, danke .

Jetzt muss ich nurnoch an die Buttons(Maximize, minimize, close) rankommen.


MFG
Memnarch
Die sind fixed..
Aber achte darauf was für einen Windowstyle du verwendest.
Bei einem WS_EX_TOOLWINDOW sind sie nur 11x11 du mußt also vorher den jeweiligen Fensterstyle prüfen.

zusätzlich.. bei WS_EX_TOOLWINDOW hast du keine Minimizebox/Maximizebox.

usw..

PS:
Die XPosition kannst du über GetSystemMetrics(SM_CXSIZE) in erfahrung bringen.

Ach so vergessen..
Unter Vista/Win7 funktioniert das nicht mehr da mußt du dich schon der UXTheme bedienen.
GetThemeMetric unter verwendung von WP_CLOSEBUTTON (Bsp. für CloseButton)

gruss

Geändert von EWeiss (13. Jul 2011 um 12:49 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz