View Single Post
Old 26-07-2019, 05:33   #1
xsandrox
Junior Member
 
L'Avatar di xsandrox
 
Iscritto dal: Feb 2009
Messaggi: 24
[c++] applicazione windows... help!

Ho scritto questo semplice codice per iniziare a programmare in ambiente windows... ma non riesco a capire perche non funziona, c'č qualche anima pia che mi puņ aiutare?
Alla compilazione il programma termina senza errori, ma la finestra non compare. Nel debug sembra che ci sia un errore in un nome non riconosciuto nella funzione DialogBoxParam, perņ a me sembra scritta bene, sia la funzione che il relativo dialogo.

FILE .cpp

Codice:
#include"resource.h"
#include<Windows.h>


BOOL TreControlli(HWND hDialogo, UINT nMessage,
	WPARAM wParam, LPARAM lParam)
{
	
	// un caso che gestiamo: e` proprio un WM_COMMAND?
	if (nMessage != WM_COMMAND) return FALSE;

	// e` proprio il clic di un bottone?
	UINT codice = HIWORD(wParam);
	if (codice != BN_CLICKED) return FALSE;

	// e` proprio un bottone di interesse?
	int idCliccato = LOWORD(wParam);
	if (idCliccato != IDC_BUTTON_1 &&
		idCliccato != IDC_BUTTON_2) return FALSE;

	// OK, 
	HWND hScritta = GetDlgItem(hDialogo, ID_STATIC_1);
	if (!hScritta) return FALSE;    

									// scritta, e simultaneo "ultimo controllo d'errore":
	return SetWindowText(hScritta, idCliccato == IDC_BUTTON_1 ? "Primo" : "Secondo");
}

BOOL CALLBACK proc_IDD_5(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
{
	if (nMsg == WM_CLOSE) return EndDialog(hWnd, 0);
	
	if (nMsg ==WM_COMMAND) return TreControlli(hWnd, nMsg, wParam, lParam);

	return false;
}




int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	DialogBoxParam(0, "IDD_5", 0, proc_IDD_5, 0);
	DWORD a = GetLastError();	//verifica eventuale coldice errore -> codice:1814
	return 0;
}
FILE DI RISORSE .rc

Codice:
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
#include "winres.h"


#undef APSTUDIO_READONLY_SYMBOLS


#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ITA)
LANGUAGE LANG_ITALIAN, SUBLANG_ITALIAN

#ifdef APSTUDIO_INVOKED


1 TEXTINCLUDE 
BEGIN
    "resource.h\0"
END

2 TEXTINCLUDE 
BEGIN
    "#include ""winres.h""\r\n"
    "\0"
END

3 TEXTINCLUDE 
BEGIN
    "\r\n"
    "\0"
END

#endif   
// Dialog
//

IDD_5 DIALOGEX 0, 0, 235, 156
STYLE DS_SETFONT | WS_CHILD | WS_CAPTION | WS_SYSMENU
CAPTION "Prova 5"
FONT 10, "Modern No. 20", 700, 0, 0x0
BEGIN
    CTEXT           "STATIC_1",ID_STATIC_1,69,93,68,20,SS_CENTERIMAGE
    PUSHBUTTON      "BUTTON_1",IDC_BUTTON_1,31,47,52,18
    PUSHBUTTON      "BUTTON_2",IDC_BUTTON_2,139,47,52,18
END


/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//

#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
    "IDD_5", DIALOG
    BEGIN
    END
END
#endif    // APSTUDIO_INVOKED


/////////////////////////////////////////////////////////////////////////////
//
// AFX_DIALOG_LAYOUT
//

IDD_5 AFX_DIALOG_LAYOUT
BEGIN
    0
END

#endif    // Italiano (Italia) resources
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED
file header .h

Codice:
//{{NO_DEPENDENCIES}}
// File di inclusione generato con Microsoft Visual C++.
// Utilizzato da Resource.rc
//
#define IDD_5                           4
#define sandro                          9
#define ID_STATIC_1                     1001
#define IDC_BUTTON_1                    1005
#define IDC_BUTTON_2                    1006

// Next default values for new objects
// 
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE        102
#define _APS_NEXT_COMMAND_VALUE         40001
#define _APS_NEXT_CONTROL_VALUE         1007
#define _APS_NEXT_SYMED_VALUE           101
#endif
#endif
xsandrox č offline   Rispondi citando il messaggio o parte di esso