![]() |
CueBanner funktioniert nicht
Hi,
Ich versuche gerade verzweifelt einem Edit (non-VCL) ein CueBanner zu verpassen. Habe mir EM_SETCUEBANNER selbst definiert weil ich die CommCtrl.pas nicht einbinden will.
Delphi-Quellcode:
Das funktioniert aber nicht. SendMessage liefert immer false. Edit_SetCueBanner funkioniert auch nicht.
const
EM_SETCUEBANNER = $1501; var Str: PWideChar; begin GetMem(Str,Length('Test')*SizeOf(WideChar)); lstrcpyW(Str,'TEST'); SendMessage(Handle,EM_SETCUEBANNER,0,lparam(Str)); FreeMem(Str); end;
Delphi-Quellcode:
Liefert auch false...
Edit_SetCueBanner(Handle,'TEST');
Mit der VCL funktioniert es aber...
Delphi-Quellcode:
Ich weiß jetzt grad nicht so genau was ich falsch mache -.-
procedure TForm1.Button1Click(Sender: TObject);
begin Edit_SetCueBanner(Edit1.Handle,'TEST'); // geht... end; Gruß Neutral General |
Re: CueBanner funktioniert nicht
Hat Dein NonVCL-Projekt ein Manifest eingebunden, welches die Verwendung der Common-Controls V.6 erzwingt? Meines Wissens ist das nämlich nötig, um die Cue-Banner zu nutzen.
|
Re: CueBanner funktioniert nicht
Nein. Ich habe kein Manifest eingebunden. Woher bekomme ich denn eins und wie binde ich das ein?
|
Re: CueBanner funktioniert nicht
Tante Google liefert hier Hilfestellung. Zum Beispiel auf der folgenden Seite wird's diskutiert:
![]() |
Re: CueBanner funktioniert nicht
Zitat:
|
Re: CueBanner funktioniert nicht
Zitat:
![]() mfG mirage228 |
Re: CueBanner funktioniert nicht
Hi,
Also ich bekomme jetzt beim starten meines Programms einen Runtime Error... Ich habs so gemacht: MeinProgramm.exe.manifest Zitat:
manifest.rc: Zitat:
Delphi-Quellcode:
in einer Unit die in mein Projekt eingebunden ist steht außerdem folgendes:
{$R manifest.res}
Delphi-Quellcode:
procedure InitCommonControls; stdcall; external 'comctl32.dll';
initialization InitCommonControls; :arrow: Zitat:
Gruß Neutral General |
Re: CueBanner funktioniert nicht
Und wo kommt der Fehler? 216 ist eine AccessViolation.
|
Re: CueBanner funktioniert nicht
Hi Luckie,
Ich habe mal ein Beispiel:
Delphi-Quellcode:
Wobei DefProc <> nil. Und ohne Manifest funktioniert es auch.// TNVCLButton constructor. Nachdem der Button erstellt ist DefProc := TWNDProc(Pointer(GetWindowLong(Handle,GWL_WNDPROC))); // Dann im eigentlichen Quelltext Button1.Caption := 'bla'; // => procedure TNVCLButton.SetCaption(const Value: String); begin SetWindowText(Handle,PChar(Value)); FCaption := Value; // hier kommt man niemals an end; // => procedure TNVCLControl.WndProc(var Message: TMessage); begin case Message.Msg of WM_COMMAND: begin if hiWord(Message.WParam) = BN_CLICKED then if Assigned(FOnClick) then FOnClick(Self); end; WM_PAINT: begin if FVisible then DoPaint; end; end; // => Message.Result := DefProc(FHandle,Message.Msg,Message.WParam,Message.LParam); // <--- Da knallts dann end; Gruß Neutral General |
Re: CueBanner funktioniert nicht
Würde das ganze nochmal gerne aufgreifen...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:18 Uhr. |
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-2025 by Thomas Breitkreuz