i have 3 files on my visual c++ project below
1. resource.h
2. resource.rc
3. main.cpp
The code are below
1. resource.h
#define METU_PEOPLE 101 #define METU_NEWS 102 #define METU_CLOSE 103 #define METU_ABOUT 104 #define METU_MENU 201 #define METU_FAVICON 202
2. resource.rc
#include "resource.h" METU_PEOPLE ICON "images/people.ico" METU_NEWS ICON "images/news.ico" METU_CLOSE ICON "images/close.ico" METU_FAVICON ICON "images/favicon.ico" METU_MENU MENU BEGIN POPUP "&Messenger" BEGIN MENUITEM "People", METU_PEOPLE MENUITEM "News", METU_NEWS MENUITEM "Exit", METU_CLOSE END POPUP "&Help" BEGIN MENUITEM "About", METU_ABOUT END END
3. main.cpp
#include <windows.h>
#include "resource.h"
//kita deklarasikan (declare) identifier WinProc
LRESULT CALLBACK WinProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam);
int WINAPI WinMain( //convention system function
HINSTANCE hInst, //Handle to instance
HINSTANCE hPrevInst, // handle previous instance
LPSTR lpCmdLine, //pointer str dalam unicode
int nShowCmd) //fungsi yang dipanggil, maximize, minimize etc,
{
WNDCLASSEX wClass; //mari kita buat window class 'wClass'
ZeroMemory(&wClass,sizeof(WNDCLASSEX)); //terlebih dahulu kita clear kan semua parameter
wClass.cbClsExtra=NULL;
wClass.cbSize=sizeof(WNDCLASSEX);
wClass.cbWndExtra=NULL;
wClass.hbrBackground=(HBRUSH)COLOR_WINDOW;
wClass.hCursor=LoadCursor(NULL,IDC_ARROW);
wClass.hIcon= LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(METU_FAVICON));
wClass.hIconSm= (HICON)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(METU_FAVICON), IMAGE_ICON, 16, 16, 0);//tidak perlu 16x16 bila sudah 16
wClass.hInstance=hInst;
wClass.lpfnWndProc=(WNDPROC)WinProc;
wClass.lpszClassName="Window Class";
wClass.lpszMenuName= MAKEINTRESOURCE(METU_MENU);
wClass.style=CS_HREDRAW|CS_VREDRAW;
if(!RegisterClassEx(&wClass)) //mari kita register class
{
//bila windows class gagal maka akan return 0
//tapi kita dapat menggunakan fungsi GetLastError();
int nResult = GetLastError();
MessageBox(NULL,
"Window class creation failed",
"Window Class Failed",
MB_IConerror);
}
//HWND = Handle to Window, salah satu bagian dari windows api
HWND hWnd = CreateWindowEx(
NULL, //dwExStyle
"Window Class", //lpClassName
"MeTu+ Messenger", //lpWindowName
WS_OVERLAPPEDWINDOW, //dwStyle
200,//x
200,//y
640,//nWidth
480,//nHeight
NULL,//hWndParent
NULL,//hMenu
hInst,//hInstance
NULL);//lpParam
if(!hWnd)
{
int nResult=GetLastError();
MessageBox(NULL,
"Window creation failed",
"Window Creation Failed",
MB_IConerror);
}
ShowWindow(hWnd,nShowCmd);
//dibawah ini merupakan main loop untuk program
//digunakan untuk mengolah message
//sebelum window ditampilkan
MSG msg;
ZeroMemory(&msg,sizeof(MSG));
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg); //translates virtual key messages to character messages
DispatchMessage(&msg); //sends any messages to the callback procedure
}
return 0;
}
//dibawah ini merupakan callback prosedure
LRESULT CALLBACK WinProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
switch(msg)
{
case WM_DESTROY://saat user mengclick tombol close (x) pada window
{
PostQuitMessage(0);
return 0;
}
break;
case WM_CREATE:
{
}
break;
}
return DefWindowProc(hWnd,msg,wParam,lParam);
}
I don't have any idea to place my .ico files to the submenu,
can somebody tell me how?

New Topic/Question
Reply



MultiQuote








|