به نام خدا 

سلام

برای برنامه نویسی با API میشه از زبان c یا C++ استفاده کرد!

برای اینکه بتونید یک پروژه درست کنید و یه چند خط کد بنویسید وارد این سایت بشید!

همچنین اگه میخواید دقیق تر کار کنید از این سایت استفاده کنید!

حالا به عنوان یک خلاصه و یک سر نخ برای شما مطلب زیر رو خدمتتون ارائه میکنم!

برنامه گرافیکی ویندوز که قراره با API نوشته بشه! باید حداقل دو تابع داشته باشه.

یکی تابع WinMain که اولین تابعی هست که اجرا میشه مثل همون main خودمون تو C میمونه!

و یکی دیگه هم تابع مخصوص پنجره هست! مثل موس روی پنجره وارد شده! یا کاربر روی پنجره کلیک کرده! یا کاربر پنجره رو بزرگ کرده (resize) و...

این سایت خود مایکروسافت هست که میتونید ازش استفاده کنید (من خودم طرز استفاده اش رو یاد نگرفتم :))


اینم یه کد نمونه که میتونه کمکتون کنه!

#include <windows.h>

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
void CenterWindow(HWND);

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PWSTR pCmdLine, int nCmdShow) {
                    
    MSG  msg;    
    WNDCLASSW wc = {0};
    wc.lpszClassName = L"Center";
    wc.hInstance     = hInstance;
    wc.hbrBackground = GetSysColorBrush(COLOR_3DFACE);
    wc.lpfnWndProc   = WndProc;
    wc.hCursor       = LoadCursor(0, IDC_ARROW);
  
    RegisterClassW(&wc);
    CreateWindowW(wc.lpszClassName, L"Center",
                  WS_OVERLAPPEDWINDOW | WS_VISIBLE,
                  100, 100, 250, 150, 0, 0, hInstance, 0);  

    while (GetMessage(&msg, NULL, 0, 0)) {
  
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    return (int) msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg,
    WPARAM wParam, LPARAM lParam) {
    
    switch(msg) {
  
        case WM_CREATE: 
      
            CenterWindow(hwnd);
            break;      

        case WM_DESTROY: 
      
            PostQuitMessage(0);
            break;
    }

    return DefWindowProcW(hwnd, msg, wParam, lParam);
}

void CenterWindow(HWND hwnd) {

    RECT rc = {0};
    
    GetWindowRect(hwnd, &rc);
    int win_w = rc.right - rc.left;
    int win_h = rc.bottom - rc.top;

    int screen_w = GetSystemMetrics(SM_CXSCREEN);
    int screen_h = GetSystemMetrics(SM_CYSCREEN);
    
    SetWindowPos(hwnd, HWND_TOP, (screen_w - win_w)/2, 
        (screen_h - win_h)/2, 0, 0, SWP_NOSIZE);
}

یه صفحه وسط در وسط صفحه نمایش شما درست میکنه!

برای ساخت یک Button باید از کلاس Button استفاده کنید!

برای ساخت یک Label باید از کلاس Static استفاده کنید!

و..

چیزای دیگه ام اگه یاد گرفتم اضافه میکنم!

موفق باشید