Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Warum ist eine GroupBox unter Windows ein Button? (https://www.delphipraxis.net/97364-warum-ist-eine-groupbox-unter-windows-ein-button.html)

uligerhardt 9. Aug 2007 10:55


Warum ist eine GroupBox unter Windows ein Button?
 
Hi zusammen!

Ich bin grad mal wieder darüber gestolpert, dass unter Windows eine GroupBox ein Button ist (siehe BS_GROUPBOX), und frage mich, warum dass so ist. Googeln liefert zwar viele Erwähnungen, dass es so ist, aber keine Begründung, warum. Hat da jemand Links oder so?

Uli.

Olli 2. Sep 2007 01:35

Re: Warum ist eine GroupBox unter Windows ein Button?
 
Frag doch einfach mal den Kollegen von "Bei Google suchenThe old new thing" :zwinker:

Gegenfrage: warum sollte es denn kein Button sein?

Dezipaitor 2. Sep 2007 02:00

Re: Warum ist eine GroupBox unter Windows ein Button?
 
Den old new thing kannste vergessen, der hat solche Fragen für die nächsten zehn Jahre (laut Blog).

Aber fragen wir meine "Was wäre wenn..." Maschine - wer kennt sie nicht aus Futurama.

Was wäre wenn, die GroupBox kein Button wäre?

(Out of order)


Aber ich denk mal, dass es was mit dem Fokus zu tun hat. Da war früher entweder ein schlauer oder
kluger (oder beides) Programmierer am Werk. Der dachte, er könne sich die Fokus-Geschichte mit den Nachrichten
sparen und einfach auf GetFocus-Nachricht warten. Dann setzt er einfach den Fokus auf das nächste Kontrollelement
innerhalb der Groupbox.

Gibts sicher seit Win2.0.

uligerhardt 2. Sep 2007 02:37

Re: Warum ist eine GroupBox unter Windows ein Button?
 
Hätte ja nicht gedacht, dass noch jemand auf das Posting reagiert. :)

Zitat:

Zitat von Olli
Frag doch einfach mal den Kollegen von "Bei Google suchenThe old new thing" :zwinker:

Den lese ich schon regelmäßig. Fragen trau ich mich nicht, der macht einen ja immer gleich rund. :)
Zitat:

Zitat von Olli
Gegenfrage: warum sollte es denn kein Button sein?

So auf die Schnelle: Weil sie nicht "buttonmäßig" auf Klicks reagiert, weil sie Childcontrols aufnehmen kann und weil sie normalerweise kein Tabstop ist bzw. den Fokus übernehemen kann.

Gute Nacht,
Uli.

Olli 2. Sep 2007 02:47

Re: Warum ist eine GroupBox unter Windows ein Button?
 
Zitat:

Zitat von uligerhardt
Zitat:

Zitat von Olli
Gegenfrage: warum sollte es denn kein Button sein?

So auf die Schnelle: Weil sie nicht "buttonmäßig" auf Klicks reagiert, weil sie Childcontrols aufnehmen kann und weil sie normalerweise kein Tabstop ist bzw. den Fokus übernehemen kann.

Gut, warum beschäftigt dich dann nicht auch die Vielfalt der Statics? Kann ein Bild sein, ein Rahmen, kann Text beinhalten etc pp. :zwinker:

IMO gibt es nur einen Grund ... alle diese Controls existierten bereits in Win 3.x und es gab vermutlich irgendeine Beschränkung, die es sinnvoll machte, daß man sie nicht in extra Fensterklassen aufteilte. Bei den Common Controls gibt es sowas ja nicht mehr ...

uligerhardt 2. Sep 2007 03:21

Re: Warum ist eine GroupBox unter Windows ein Button?
 
Zitat:

Zitat von Olli
Gut, warum beschäftigt dich dann nicht auch die Vielfalt der Statics? Kann ein Bild sein, ein Rahmen, kann Text beinhalten etc pp. :zwinker:

Zu Statics hab ich mir noch nicht so viel Gedanken gemacht. Was sie gemeinsam haben, ist dass sie Platz einnehmen und irgendwas anzeigen, und ansonsten langweilig sind. :) Das rechtfertigt vermutlich die Zusammenfassung zu einer Fensterklasse, die nur aus einem Riesen-switch-Konstrukt im WM_PAINT (oder so) besteht.

Zitat:

Zitat von Olli
IMO gibt es nur einen Grund ... alle diese Controls existierten bereits in Win 3.x und es gab vermutlich irgendeine Beschränkung, die es sinnvoll machte, daß man sie nicht in extra Fensterklassen aufteilte.

Sowas muss es wohl sein. Mich wundert halt, dass zu diesem Thema nix zu finden ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:59 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