|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
[RISOLTO] (winApi) Controllo BITMAP
Se io in un file risorsa (.rc) scrivo:
IDI_BITMAP1_LOGIN BITMAP "img1_login.bmp" E' esetta la sintassi di come scrivo questo controllo??...no perchè mi continua a dare errore di sintassi e sono fermo da due giorni ... Edit: Premetto che sono arrivato a scrivere così da questo controllo: IDC_MYICON ICON "ciao.ico" e la posto di ICON ho messo BITMAP Ultima modifica di Gino+89+ : 17-11-2006 alle 19:21. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Corretto...avevo scritto l'istruzione dentro ad un dialogo...
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Altra domanda...
Ho creato un controllo static vuoto per inserirci un bitmap: Codice:
CONTROL "",IDC_STATIC1_LOGIN,"STATIC",SS_BITMAP | SS_CENTERIMAGE | WS_VISIBLE,40,50,80,98 Codice:
IDI_BITMAP1_LOGIN BITMAP "img1_login.bmp" ...volevo inviare il mess. STM_SETIMAGE con SendMessage() allo static...ho provato in diversi modi ma non ci sono riuscito...sapete aiutarmi??...ho fatto errori?
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 5206
|
Quote:
Ma se vuoi si può fare già a livello di risorsa. Il primo parametro di CONTROL (che adesso è ""), deve contenere l'ID della risorsa bitmap. Esempio: CONTROL 103,IDC_STATIC_1,"Static",SS_BITMAP ..... Se stai usando VC++, si può fare facilmente dall'editor delle risorse.
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%) Java Versions Cheat Sheet |
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Allora, ho fatto in questo modo ma mi piazza come immagine un quadrato completamente nero che non è la bitmap che dico io:
Ti posto il codice "completo": Pezzo di risorsa: Codice:
IDD_LOGIN DIALOG 150, 150, 115, 190
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "LN Chat - Login"
FONT 10, "MS Sans Serif"
BEGIN
LTEXT "Nickname",IDC_TEXT1_LOGIN,18,50,40,10
EDITTEXT IDC_EDIT1_LOGIN,18,60,80,11
LTEXT "Password",IDC_TEXT2_LOGIN,18,73,40,10
EDITTEXT IDC_EDIT2_LOGIN,18,83,80,11,ES_PASSWORD
PUSHBUTTON "Enter",IDC_BUTTON1_LOGIN,31,97,20,9,BN_CLICKED
PUSHBUTTON "Exit",IDC_BUTTON2_LOGIN,63,97,20,9,BN_CLICKED
PUSHBUTTON "Register",IDC_BUTTON3_LOGIN,43,115,30,9,BN_CLICKED
CONTROL 110,IDC_STATIC1_LOGIN,"STATIC",SS_BITMAP | SS_CENTERIMAGE | WS_VISIBLE,10,50,80,100
END
IDI_BITMAP1_LOGIN BITMAP "img2_login.bmp"
Codice:
#define IDC_STATIC1_LOGIN 109 #define IDI_BITMAP1_LOGIN 110 Codice:
BOOL CALLBACK dlgProcLogin(HWND hwndDlg,UINT dlgMsg,WPARAM wParam,LPARAM lParam)
{
switch(dlgMsg)
{
case WM_INITDIALOG:
{
HWND hwndControl=GetDlgItem(hwndDlg,IDC_STATIC1_LOGIN);
SendMessage(hwndControl,STM_SETIMAGE,IMAGE_BITMAP,110);
}
break;
case WM_CLOSE:
EndDialog(hwndDlg,0);
break;
|
|
|
|
|
|
#6 | |||
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 5206
|
Quote:
Quote:
Quote:
Comunque se già lo imposti dalla risorsa, perché impostarlo programmaticamente???
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%) Java Versions Cheat Sheet |
|||
|
|
|
|
|
#7 | ||
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Quote:
Quote:
Nel mio esempio che cosa devo passargli per ultimo parametro? |
||
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 5206
|
Quote:
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%) Java Versions Cheat Sheet |
|
|
|
|
|
|
#9 | |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Quote:
L'unica cosa che non ho capito e come correggere il SendMessage()... |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 5206
|
Quote:
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%) Java Versions Cheat Sheet |
|
|
|
|
|
|
#11 | |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Quote:
![]() Come vedi viene fuori una cosa "molto oscena", e non mi carica la bitmap "img2_login.bmp" che dico io Ultima modifica di Gino+89+ : 16-11-2006 alle 17:46. |
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 5206
|
Quote:
Continui ad inviare un 110 che non è un handle. Quindi chissà cosa fa il controllo .... probabilmente vede che non è un handle e si "resetta" o qualcosa del genere!
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%) Java Versions Cheat Sheet |
|
|
|
|
|
|
#13 |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Questo è il risultato se la tolgo:
![]() Come se non ci fosse nulla, basta mi arrendo
|
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 5206
|
Quote:
Verifica se hai degli errori o warning nella compilazione delle risorse. Inoltre, il file di include che contiene le define degli ID è correttamente incluso dal file .rc??
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%) Java Versions Cheat Sheet |
|
|
|
|
|
|
#15 | |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Quote:
Difatti se osservi il codice dei post iniziali, ho messo il 110 sia come primo parametro del CONTROL che come ID della bitmap (IDI_BITMAP1_LOGIN)...appunto perchè non riesco a capire come possa scegliere... |
|
|
|
|
|
|
#16 |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Risolto caricando la bitmap:
Codice:
case WM_INITDIALOG:
{
HWND hwndControl=GetDlgItem(hwndDlg,IDC_STATIC1_LOGIN);
HBITMAP hwndBitMap=LoadBitmap(GetModuleHandle(NULL),MAKEINTRESOURCE(IDI_BITMAP1_LOGIN));
SendMessage(hwndControl,STM_SETIMAGE,IMAGE_BITMAP,hwndBitMap);
|
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 5206
|
Quote:
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%) Java Versions Cheat Sheet |
|
|
|
|
|
|
#18 | |
|
Member
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:25.











...volevo inviare il mess. STM_SETIMAGE con SendMessage() allo static...ho provato in diversi modi ma non ci sono riuscito...sapete aiutarmi??...ho fatto errori?










