Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Win32列表框和滑动器创建Windows应用程序_C++_Listbox - Fatal编程技术网

C++ Win32列表框和滑动器创建Windows应用程序

C++ Win32列表框和滑动器创建Windows应用程序,c++,listbox,C++,Listbox,我想在我的窗口中实现一个列表框和一个滑块。 我使用devcpp,而不是visualstudio 我一直在寻找一种方法来做到这一点,但除了msdn.microsoft.com提供的理论资料外,我什么也没找到 我想要一个例子,实现listbox和slider的最小类型的代码。 这是一个更紧密、最有用的链接,但它仍然使用VisualStudio。 谢谢。我找到了我要找的东西,似乎这是整个互联网上制作列表框的唯一示例代码。为了运行它:下载并打开我使用的devc++或任何其他类型的编译器,打开一个新的Wi

我想在我的窗口中实现一个列表框和一个滑块。 我使用devcpp,而不是visualstudio

我一直在寻找一种方法来做到这一点,但除了msdn.microsoft.com提供的理论资料外,我什么也没找到

我想要一个例子,实现listbox和slider的最小类型的代码。 这是一个更紧密、最有用的链接,但它仍然使用VisualStudio。
谢谢。

我找到了我要找的东西,似乎这是整个互联网上制作列表框的唯一示例代码。为了运行它:下载并打开我使用的devc++或任何其他类型的编译器,打开一个新的Windows应用程序项目,否则它将无法工作,删除任何默认代码,粘贴此代码并运行它

这就是你帮助别人学习代码的方式


更好地使用对话框模板,最短和最简单的方法来处理常见控件。下面是滑块上的MSDN示例。第一个控件使用类,第二个控件使用类。@Ron正如我在问题中提到的,msdn.microsoft.com提供了大量代码。这个如何创建一个简单的列表框给了我错误,其中一个是IDC_LISTBOX_示例未定义,显然是因为它没有在任何地方定义,我不知道如何定义它。另外,如何导入WC_列表框和TRACKBAR_类?他们会解决这个错误吗?我尝试过包含和定义,它给了我错误@ΧριστιανίΔηςασίλεος真。如果你想走Win32路线,我建议从一个Hello World空WinAPI表单开始,然后从那里开始。@Ron遗憾的是,没有足够的Win32教程。每个人都使用Visual C++…谢谢你的帮助。请注意你的语言。我知道你很兴奋,但请尽量控制你的语言。认为堆栈溢出更像维基百科而不是Reddit。我没有注意到,但我认为它会自动删除这个坏单词
#include <Windows.h>


#define IDC_MAIN_BUTTON 101         // Button identifier


LRESULT CALLBACK WndProcedure(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

HWND hWndListL;
HWND hWndListR;
HWND hWndButton;


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    MSG Msg;
    HWND hWnd;


    //Settings All Window Class Variables
    WNDCLASSEX WndClsEx;
    WndClsEx.cbSize = sizeof(WNDCLASSEX);
    WndClsEx.style = CS_HREDRAW | CS_VREDRAW;
    WndClsEx.lpfnWndProc = WndProcedure;
    WndClsEx.cbClsExtra = 0;
    WndClsEx.cbWndExtra = 0;
    WndClsEx.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    WndClsEx.hInstance = hInstance;
    WndClsEx.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    WndClsEx.hCursor = LoadCursor(NULL, IDC_ARROW);
    WndClsEx.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
    WndClsEx.lpszMenuName = NULL;
    WndClsEx.lpszClassName = "My Window";


    //Register Window Class
    RegisterClassEx(&WndClsEx);


    //Create Window
    hWnd = CreateWindowEx(NULL, "My Window", "Windows Application", WS_OVERLAPPEDWINDOW, 200, 200, 640, 480, NULL, NULL, hInstance, NULL);



    SendMessage(hWndListL, LB_ADDSTRING, NULL, (LPARAM)"one");
    SendMessage(hWndListL, LB_ADDSTRING, NULL, (LPARAM)"two");



    //Show Window
    ShowWindow(hWnd, SW_SHOWNORMAL);


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


    return 0;
}



LRESULT CALLBACK WndProcedure(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
    char buffer[50] = "";


    switch(Msg)
    {
        case WM_CREATE:
            //Create Listbox's
            hWndListL = CreateWindowEx(NULL, "LISTBOX", NULL, WS_BORDER | WS_CHILD | WS_VISIBLE | ES_AUTOVSCROLL | LBS_NOTIFY, 50, 35, 200, 100, hWnd, NULL, GetModuleHandle(NULL), NULL);
            hWndListR = CreateWindowEx(NULL, "LISTBOX", NULL, WS_BORDER | WS_CHILD | WS_VISIBLE | ES_AUTOVSCROLL | LBS_NOTIFY, 350, 35, 200, 100, hWnd, NULL, GetModuleHandle(NULL), NULL);

            //Create Button
            hWndButton = CreateWindowEx(NULL, "BUTTON", "OK", WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON | WS_DISABLED, 50, 220, 100, 24, hWnd, (HMENU)IDC_MAIN_BUTTON, GetModuleHandle(NULL), NULL);

            break;
        case WM_COMMAND:
            switch(HIWORD(wParam))
            {
                case LBN_SELCHANGE:
                {
                    //EnableWindow( GetDlgItem( hWnd, (HMENU)IDC_BUTTON_MAIN ), TRUE );
                    EnableWindow(hWndButton, true);
                    break;
                }
            }
            switch(LOWORD(wParam))
            {
                case IDC_MAIN_BUTTON:
                {
                    //length = SendMessage(hWndListL, LB_GETTEXTLEN, NULL, NULL);
                    SendMessage(hWndListL, LB_GETTEXT, NULL, (LPARAM)buffer);
                    SendMessage(hWndListR, LB_ADDSTRING, NULL, (LPARAM)buffer);
                    SendMessage(hWndListL, LB_DELETESTRING, NULL, NULL);
                    EnableWindow(hWndButton, false);
                    break;
                }
            }
            break;
        case WM_DESTROY:
            PostQuitMessage(WM_QUIT);
            break;
    }

    return DefWindowProc(hWnd, Msg, wParam, lParam);
}