Quote:
|
Originariamente inviato da Abdujaparov
Problema 1:
Nella procedura che gestisce la mia finestra popup ho inserito questo case:
case WM_LBUTTONDBLCLK:
MessageBox(NULL, (LPTSTR)"EVVAI", (LPTSTR)"Doppioclick",1);
break;
Ma non fa nulla.
Come posso risolvere?
|
Leggi:
WM_LBUTTONDBLCLK Notification
In questo caso MSDN è molto chiara:
Only windows that have the CS_DBLCLKS style can receive WM_LBUTTONDBLCLK messages [...]
Quote:
|
Originariamente inviato da Abdujaparov
Problema 2:
Ad esempio, ho questo testo:
"ciao ciao
pippo"
cioè "ciao ciao\npippo"
e voglio visualizzarlo in un popup.
Per scriverlo in un popup utilizzo queste funzioni:
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
GetClientRect(hWnd,&rect);
MessageBox(NULL, (LPTSTR)MESSAGGIO_PRECEDENTE, LPTSTR)"Messaggio precedente",1);
DrawText(hdc,MESSAGGIO_PRECEDENTE,-1,&rect,DT_SINGLELINE);
EndPaint(hWnd, &ps);
break;
Dentro la procedura per la gestione dei messaggi del popup.
La MessageBox me lo visualizza correttamente il DrawText, che uso per scrivere nel popup, mi scrive una cosa simile:
ciao ciao||pippo.
Perchè?
|
Beh .... hai messo DT_SINGLELINE! Prova a toglierlo! E metti \r\n, non solo \n (non ne sono sicuro al 100% ma credo che si debbano mettere entrambi).
DT_SINGLELINE Displays text on a single line only. Carriage returns and line feeds do not break the line.
P.S.: non mettere mai una MessageBox in risposta a WM_PAINT. Non oso immaginare cosa potrebbe succedere.