Buttons in calc.exe - Wie kann das sein???
-
Ja, aber dazu brauchst du kein XP. Schau doch selber mal nach.
-
calc (Rechner) gibts auf jedem Windows.
-
Hab ich aber nicht mitinstalliert
- und werde das auch nicht nur deswegen tun 
-
also bei sind es owner draw buttons (w2k)
-
uiiii. Sowas! Komisch.

-
Hier die Daten der Taste "7" meines XP Prof. "Taschenrechners":
(Quelle: Winspector Spy)Class Name:
ButtonText:
7Styles:
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_TEXTStylesEx:
WS_EX_NOPARENTNOTIFY | WS_EX_LEFT | WS_EX_LTRREADING | WS_EX_RIGHTSCROLLBARRectangle:
844, 464, 880, 493Size:
36, 29Client Rectangle:
0, 0, 36, 29Client Size:
36, 29ID:
131Properties Atom:
#43288 0xFFFFFFFF (-1)Atom:
#43282 0x00010003 (65539)Class specific:
uncheckedOwner EXE:
C:\WINDOWS\system32\calc.exe
-
Ihr habt Probleme...


-
ja
-
Wie kann man denn herausfinden, ob da tatsächlich SubClassing betrieben wurde?
-
Mit Spy++ kann man die Adresse der Fensterprozedur sehen.
Allerdings ist die bei den Buttons in Calc genauso wie bei anderen Programmen.

-
Hööö? Billie verschweigt uns was! Meine Frage bleibt: Wie kann das sein???
-
Ich hab's nochmal mit dem Abbrechen-Button vom "Eigenschaften von Anzeige"-Dialog verglichen. Die WindowProc ist tatsächlich die gleiche. Aber es gibt da 2 Unterschiede, von denen ich nicht weiß, was sie bedeuten. Der erste ist der Wert der Fenster-Bytes und der zweite (und vielleicht wichtigere) ist in den Klassenstilen zu bemerken. Beim calc-Button ist CS_GLOBALCLASS dabei - beim Abbrechen-Button nicht...
-
-> RegisterClass
-
RegisterClass - Aha. Werd ich gleich mal versuchen...
-
Nach einigem Rumprobieren merke ich, dass ich beim besten Willen nicht verstehe, wie du das meinst.
-
Ich denke das die einfach die Klasse button registriert haben und in der WndProc dann das Nötige änderten.
-
WebFritzi hatte die Frage auch im Forum von http://www.winapi.net gestellt und dort ist rausgekommen, das der Button unter Windows XP das Custom Draw Feature nutzt.
-
-
Danke euch.