Hyperlink in einer App mit WinAPI

30/11/2008 - 19:10 von Thomas Steinbach | Report spam
Hallo NG,

ich habe da ein Problem wo ich momentan nicht weiterkomme
und auch kein funktionierendes Beispiel finde. Siehe auch:
http://msdn.microsoft.com/en-us/library/bb760706(VS.85).aspx
und ff.

Momentan habe ich hier ein Control Element mit dem VS Dialog
Editor erstellt, das mir folgende Zeile in meiner Dialogbox
hinzufuegt. Aber wenn ich die App starte dann wird mir die
DialogBox nicht (mehr) angezeigt.

CONTROL "<a>www.google.de</a>",IDC_LNK,"SysLink",WS_TABSTOP,42,20,114,8

Auf der oben erwaehntem MSDN Seite wird beispielhaft
ein Handle erstellt, aber ich weiss jetzt nicht was ich damit
machen soll. Mir fehlt da irgendwie der Zusammenhang, bzw.
kann diesen nicht erkennen. Wie haengt diese Handle denn nun
mit dem CONTROL "SysLink" zusammen?

InitCommonControls werden von mir am Anfang der
DlgProc (Callback der DlgBox) initialisert:

snip
INITCOMMONCONTROLSEX iccEx;
InitCommonControlsEx(&iccEx);
iccEx.dwSize = sizeof(iccEx);
iccEx.dwICC = ICC_LINK_CLASS;
snap

und die Messages WM_NOTIFY bzw. NM_CLICK und NM_RETURN
sind soweit auch klar und muss ich dann in der Proc vom Dialog
abfangen.

Das komische ist das bis jetzt noch nichtmal ein Dialog angezeigt
wird. Ohne das Syslink Control schon behandelt wird.
Warum? Das ist doch einfach nur ein zusaetzliches Element, das
halt nicht irgendwo behandelt wird und CommCtrl (6.0-> Vista)
muesste das doch dann einfach darstellen - oder?

Im Netzt hatte ich eine Quelle gefunden wo im INITDIALOG
etwas aehnliches gemacht, bzw. genau dieses Handle erstellt
wird mit:

hWndLink = CreateWindowExW(0, WC_LINK,
L"<A HREF=\"http://www.microsoft.com\">Test</a>" ,
WS_VISIBLE | WS_CHILD | WS_TABSTOP,
10,55,120,30,
hWnd, 0, GetModuleHandle(0), NULL);

Aber was mache ich mit dem Handle hWndLink?

Kann mir vielleicht mal jemand ein funktionierendes Minimalbeispiel
schicken wo das alles funktioniert oder mir sagen was ich
uebersehe und wie das geht?

Thomas
 

Lesen sie die antworten

#1 gregory
30/11/2008 - 19:36 | Warnen spam
Thomas Steinbach wrote:

Auf der oben erwaehntem MSDN Seite wird beispielhaft
ein Handle erstellt, aber ich weiss jetzt nicht was ich damit
machen soll. Mir fehlt da irgendwie der Zusammenhang, bzw.
kann diesen nicht erkennen. Wie haengt diese Handle denn nun
mit dem CONTROL "SysLink" zusammen?



Es ist ein klassisches Problem
fragen über news://comp.os.ms-windows.programmer.win32

Ähnliche fragen