Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi | im Hint anzeigen (https://www.delphipraxis.net/137883-%7C-im-hint-anzeigen.html)

TeronG 31. Jul 2009 11:50

Re: | im Hint anzeigen
 
Habe "meine" alte Version pö a pö auf Richtung "neue" getrimmt bis ich den Schuldigen hatte.

UND!! 42 war die Lösung!! ... ääähhhh naja ... eigentlich WM_USER + 32 ... aber ist ja "knapp" dran. ^^

Delphi-Quellcode:
const
  TTM_SETTITLE = (WM_USER + 32);
TTM_ADDTOOL ($0400 + 50) unterscheidet sich bei mir auch noch zur CommCtrl Version(WM_USER + 4) aber der Rest ist gleich.... //WM_USER = $0400

EDIT: BTW:
Alte Version:
TTM_SETTITLE = WM_USER + 32)

CommCtrl:
TTM_SETTITLE = TTM_SETTITLEW = WM_USER + 33; { wParam = TTI_*, lParam = wchar* szTitle }


Hat wohl was mit string, char, widechar, ansichar, ... zu tun.

Satty67 31. Jul 2009 12:04

Re: | im Hint anzeigen
 
Zitat:

Zitat von TeronG
TTM_SETTITLE = WM_USER + 32;

Haa... ;)

Dann läuft es auch unter Delphi5. Musste ein paar Konstanten selber definieren und hatte mit WM_User+33 auch so meine optischen Probleme und dachte es liegt an meinen kleinen Anpassungen.

himitsu 31. Jul 2009 12:07

Re: | im Hint anzeigen
 
Wie, ihr nutzt in einem Nicht-Unicode-Delphi TTM_SETTITLEW?

komisch, eigentlich sollte dort ja TTM_SETTITLEA verwendet werden, da ja Title ein AnsiString ist :gruebel:

himitsu 31. Jul 2009 12:09

Re: | im Hint anzeigen
 
Zitat:

Zitat von Satty67
Zitat:

Zitat von TeronG
TTM_SETTITLE = TTM_SETTITLEW = WM_USER + 33;

Haa... ;)

Dann läuft es auch unter Delphi5. Musste ein paar Konstanten selber definieren und hatte mit WM_User+33 auch so meine optischen Probleme und dachte es liegt an meinen kleinen Anpassungen.


also im Grunde müßte man ja mit deiner Version in D2009 probleme bekommen, da dort ja diese Konstanten auch selber definiert wurden, aber nur für die AnsiVersion und dann dennoch mit PChar gearbeitet wurde, was dann die Konstanten der Wide-Verion benötigt hätte :mrgreen:

Satty67 31. Jul 2009 12:11

Re: | im Hint anzeigen
 
TTM_SETTITLEA/W ist in Delphi 5 nicht definiert.

Hatte dann schnell im Source von D2007 geschaut und dort war TTM_SETTITLEW als default definiert. Den Wert dann fälschlicherweise auch bei D5 übernommen. Meinen Fehler hab' ich halt jetzt erst durch die Erkenntnisse hier im Thread bemerkt.

Konstanten für D5:
Delphi-Quellcode:
TTS_BALLOON = $40;
TTS_ALWAYSTIP = $01;
TTM_SETTITLE = WM_USER + 32; // $0400 + 32

himitsu 31. Jul 2009 12:19

Re: | im Hint anzeigen
 
OK, dann ist das also ein Fehler in Delphi ... bis D2007 sollten ja die A-Versionen als Default strinstehn, da die restlichen APIs auch als AnsiVersion per Default drin sind

TTM_SETTITLEW = PWideChar/WideString/UnicodeString
TTM_SETTITLEA = PAnsiChar/AnsiString

und in D2009 dann natürlich das W


kein Wunder, wenn es nicht geht ... also wenn man versucht einen Ansitext zu verwenden und die Gegenseite es versucht als Unicode zu lesen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz