hallo,
bin noch relativ neu beim programmieren und hänge zur Zeit an einem Problem:
Ich habe eine ListBox erstellt und ein paar strings eingefügt
nun möchte ich bei doppelklick einen dieser strings (relative-DateiPfade) öffnen lassen. Klappte bisher ganz gut, doch neuerdings liest es nichts mehr aus, hier der Codeausschnitt:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
|
int iIndex = SendMessage (hEditBox[4], LB_GETCURSEL,0,0), iLenght= SendMessage (hEditBox[4],LB_GETTEXTLEN,iIndex,0)+1;
TCHAR* pVarName;
pVarName =(TCHAR*) calloc (iLenght,sizeof (TCHAR));
SendMessage (hEditBox[4],LB_GETTEXT,iIndex,(LPARAM) pVarName);
MessageBox (hWnd,(LPCTSTR)pVarName,(LPCTSTR) "String",0);
ShellExecute(hWnd, "open",
pVarName,
NULL, NULL, SW_SHOWNORMAL);
delete pVarName;
return 0;
|
und die definition der Listbox (in WM_CREATE, statisches HWND in Callback):
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
|
hEditBox[4]= CreateWindow ("listbox",
"Zeichnungen",
WS_VISIBLE | WS_CHILD| LBS_STANDARD ,
10,300,
250,20,
hWnd,
(HMENU)ID_LIST,
(HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE),
NULL);
SendMessage(hEditBox[4],LB_ADDSTRING,0,(LPARAM)(LPCTSTR)"..\\TDW85_t_realflow.pdf");
SendMessage(hEditBox[4],LB_ADDSTRING,1,(LPARAM)(LPCTSTR) "..\\..\\test.doc");
|
Was mache ich falsch, das ich mein pVarName leer bleibt? Wie gesagt, hat bereits funktioniert.
€:ja der Name hEditBox passt nicht zur einer listbox aber ich hatte mich anfangs verplant beim erstellen.