Guten Abend,
Ich möchte in mein RichEdit-Feld mehrere "Links" eibauen.
Das ganze soll ungefär so aussehen:
Bei einem Klick auf Bearbeiten soll der jeweils obere Text in ein anderes Fenster kopiert werden.
Momentan bin ich soweit, dass man Bearbeiten bereits anklicken kann (über CFE_LINK und WM_NOTIFY -> EN_LINK). Jetzt habe ich nur das Problem, dass ich nicht weiß, welches "Bearbeiten" angeklickt würde. Ideal wäre es, wenn ich jedem "Bearbeiten" intern eine Zahl zuweisen könnte...
Momentan sieht mein "Settext" so aus:
Ist es möglich, mithilfe von CHARFORMAT2 (also beim setzen des Textes), eigene, "versteckte" Informationen hinzuzufügen, welche ich nacher bei EN_LINK wieder abrufen kann?
Mfg, Jacal
Ich möchte in mein RichEdit-Feld mehrere "Links" eibauen.
Das ganze soll ungefär so aussehen:
---------------------------------
[Text]
(Bearbeiten)
---------------------------------
[Text]
(Bearbeiten)
---------------------------------
usw.
Bei einem Klick auf Bearbeiten soll der jeweils obere Text in ein anderes Fenster kopiert werden.
Momentan bin ich soweit, dass man Bearbeiten bereits anklicken kann (über CFE_LINK und WM_NOTIFY -> EN_LINK). Jetzt habe ich nur das Problem, dass ich nicht weiß, welches "Bearbeiten" angeklickt würde. Ideal wäre es, wenn ich jedem "Bearbeiten" intern eine Zahl zuweisen könnte...
Momentan sieht mein "Settext" so aus:
Code:
int tl;
CHARFORMAT2 cf;
tl = GetWindowTextLength(hWnd);
// add new text
SendMessage(hWnd, EM_SETSEL, tl, tl);
SendMessage(hWnd, EM_REPLACESEL, FALSE, (LPARAM)szText);
// fill struct
memset( &cf, 0, sizeof(CHARFORMAT) );
cf.cbSize = sizeof(CHARFORMAT);
cf.dwMask = CFM_COLOR | CFM_LINK | CFM_UNDERLINE ;
cf.dwEffects = CFE_UNDERLINE | CFE_LINK ;
cf.crTextColor = crTextColor;
// select last text inserted
tl = GetWindowTextLength(hWnd);
SendMessage(hWnd, EM_SETSEL, (WPARAM)(tl-strlen(szText)), (LPARAM)tl);
// set color
SendMessage(hWnd, EM_SETCHARFORMAT ,SCF_SELECTION, (LPARAM)&cf);
// remove bracket
tl = GetWindowTextLength(hWnd);
SendMessage(hWnd, EM_SETSEL, tl, tl);
Ist es möglich, mithilfe von CHARFORMAT2 (also beim setzen des Textes), eigene, "versteckte" Informationen hinzuzufügen, welche ich nacher bei EN_LINK wieder abrufen kann?
Mfg, Jacal