Hello Sahabat Anak Kendali.
Pada posting sebelumnya kita sudah membuat aplikasi windows sederhana dengan Bahasa C, maka dari itu saya akan melajutkan tutorialnya
kali ini saya akan memberikan tutorial cara membuat tombol atau biasa dikenal dengan sebutan button untuk aplikasi windows atau biasa kita kenal file yang berformat .exe
pada dasarnya button termasuk child window atau jendela kecil. jadi untuk membuat tombol mirip seperti membuat window dengan memberikan “button” pada nama kelasnya. berikut contoh kodenya
HWND tombol = CreateWindow (
“button”, //nama kelas
“tombol”, //tulisan pada tombol
WS_VISIBLE | WS_CHILD | WS_BORDER, //style
260, 200, //posisi
60, 40, //ukuran
hwnd, //window induk
(HMENU) 1, //id tombol
NULL, NULL);
nah apa itu id tombol? ketika kita menekan tombol yang kita buat, windows akan memanggil message WM_COMMAND dan pada wparam akan muncul id tombol kita dan disana kita dapat memberikan fungsi ketika kita menekan tombol tersebut
Example :
misal kita buat tombol dan ketika kita menekannya akan ada pesan bahwa kita menekan tombol
LRESULT CALLBACK WndProc (HWND hwnd, UINT msg,
WPARAM wParam, LPARAM lParam)
{
switch (msg)
{
//ketika window dibuat
case WM_CREATE :
{
HWND tombol1 = CreateWindow (“button”, “tombol 1”,
WS_VISIBLE | WS_CHILD | WS_BORDER, 270, 200,
100, 40, hwnd, (HMENU) 1, NULL, NULL);
HWND tombol2 = CreateWindow (“button”, “tombol 2”,
WS_VISIBLE | WS_CHILD | WS_BORDER, 270, 240,
100, 40, hwnd, (HMENU) 2, NULL, NULL);
break;
}
case WM_COMMAND :
switch (LOWORD (wParam))
{
//id tombol
case 1 :
MessageBox (hwnd, “Anda Menekan tombol 1”, “test.exe”, MB_OK);
break;
case 2 :
MessageBox (hwnd, “Anda Menekan tombol 2”, “test.exe”, MB_OK);
break;
}
break;
//ketika window di tutup
case WM_CLOSE :
DestroyWindow (hwnd) ;
break ;
case WM_DESTROY :
PostQuitMessage (0) ;
break ;
default :
return DefWindowProc (hwnd, msg, wParam, lParam) ;
}
return 0 ;
}
Penjelasan : jadi kita membuat tombol pada WM_CREATE dan ketika kita menekan tombol akan ada message WM_COMMAND, jika kita menekan tombol 1 maka wparam = 1 sedangkan jika kita menekan tombol 2 maka wparam = 2 sesuai dengan tombol id nya
berikut kode lengkapnya
#include <windows.h>
LRESULT CALLBACK WndProc (HWND hwnd, UINT msg,
WPARAM wParam, LPARAM lParam)
{
switch (msg)
{
//ketika window dibuat
case WM_CREATE :
{
HWND tombol1 = CreateWindow (“button”, “tombol 1”,
WS_VISIBLE | WS_CHILD | WS_BORDER, 270, 200,
100, 40, hwnd, (HMENU) 1, NULL, NULL);
HWND tombol2 = CreateWindow (“button”, “tombol 2”,
WS_VISIBLE | WS_CHILD | WS_BORDER, 270, 240,
100, 40, hwnd, (HMENU) 2, NULL, NULL);
break;
}
case WM_COMMAND :
switch (LOWORD (wParam))
{
//id tombol
case 1 :
MessageBox (hwnd, “Anda Menekan tombol 1”, “test.exe”, MB_OK);
break;
case 2 :
MessageBox (hwnd, “Anda Menekan tombol 2”, “test.exe”, MB_OK);
break;
}
break;
//ketika window di tutup
case WM_CLOSE :
DestroyWindow (hwnd) ;
break ;
case WM_DESTROY :
PostQuitMessage (0) ;
break ;
default :
return DefWindowProc (hwnd, msg, wParam, lParam) ;
}
return 0 ;
}
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wc;
// ukuran dari WNDCLASSEX
wc.cbSize = sizeof(WNDCLASSEX);
// gaya
wc.style = 0;
// fungsi prosedur
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
// gambar ikon
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
// gambar kursor
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
// warna latar belakang
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName = NULL;
wc.lpszClassName = “namakelas”;
// gambar ikon versi kecil
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
RegisterClassEx(&wc);
HWND hwnd = CreateWindowEx(
WS_EX_CLIENTEDGE,
“namakelas”, // nama kelas
“test.exe”, // judul aplikasi
WS_OVERLAPPEDWINDOW, // model window nya
CW_USEDEFAULT, CW_USEDEFAULT, // letak window CW_USEDEFAULT untuk default
640, 480, // ukuran window
NULL, NULL, hInstance, NULL);
ShowWindow (hwnd, nCmdShow) ; // agar window terlihat
UpdateWindow (hwnd) ;
MSG Msg ;
while(GetMessage(&Msg, NULL, 0, 0) > 0)
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam ;
}
Mungkin cukup sekian apa yang bisa saya bagikan semoga bermanfaat
keyword :
Bahasa C
Anak kendali Bahasa C
belajar Bahasa C
cara membuat aplikasi Windows dengan Bahasa C
Belajar Aplikasi Windows dengan Bahasa C
Bahasa C
Tutorial Bahasa C
aplikasi windows GUI Bahasa C
Pendahuluan Dalam dunia pengembangan perangkat lunak yang terus berkembang, Kubernetes telah muncul sebagai alat kunci dalam orkestrasi…
Mengelola sebuah sekolah atau lembaga pendidikan adalah tugas yang kompleks dan penuh tantangan. Dengan berbagai…
Selamat datang di artikel kami tentang cara menginstal OpenVPN server di Ubuntu 20.04 di HuaweiCloud!…
Dalam dunia pengembangan aplikasi, salah satu hal yang menjadi penting adalah mengelola dan memonitor kontainer…
Tutorial led blinking. LED (Light Emitting Diode) merupakan salah satu komponen elektronik yang paling umum…
Tutorial LCD Display, ini merupakan salah satu komponen yang sering digunakan dalam project elektronika sebagai…
View Comments
Mantap gan,,
Back http://www.caraebit.com