Qt winAPI中的“下一页”和“上一页”控件按钮,以转到下一页(c+;+;) 我在C++中创建了一个WiLAPI应用程序,在预览窗格中有一张照片,我想在点击下一个按钮之前和之前创建两个按钮。我将进入下一页。 你能告诉我C++中如何做到这一点吗??

Qt winAPI中的“下一页”和“上一页”控件按钮,以转到下一页(c+;+;) 我在C++中创建了一个WiLAPI应用程序,在预览窗格中有一张照片,我想在点击下一个按钮之前和之前创建两个按钮。我将进入下一页。 你能告诉我C++中如何做到这一点吗??,qt,winapi,button,buttonclick,back-button-control,Qt,Winapi,Button,Buttonclick,Back Button Control,我需要使用QT libraray还是可以使用WinAPI之类的内置函数来实现- HWND hwndButton1 = CreateWindow(L"BUTTON",L"NEXT",WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,550,800,100,30,m_hwndPreview,(HMENU)buttonid1,(HINSTANCE)GetWindowLong(m_hwndPreview, -6),NULL); HWND

我需要使用QT libraray还是可以使用WinAPI之类的内置函数来实现-

HWND hwndButton1 = CreateWindow(L"BUTTON",L"NEXT",WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,550,800,100,30,m_hwndPreview,(HMENU)buttonid1,(HINSTANCE)GetWindowLong(m_hwndPreview, -6),NULL);

    HWND hwndButton2 = CreateWindow(L"BUTTON",L"PREVIOUS",WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,650,800,100,30,m_hwndPreview,(HMENU)buttonid2,(HINSTANCE)GetWindowLong(m_hwndPreview, -6),NULL);
然后使用WM_命令单击两个按钮

我走对了吗

我只想让我的API应用程序像.pdf扩展名文件一样工作…就像在pdf文件中一样,我们有上下箭头,点击它们我们可以进入下一页..在winAPIc++中,我找不到任何这样的箭头函数。。请告诉我是否有这样的向上/向下箭头功能可以转到下一页(因为我对使用createwindow功能创建下一个和上一个按钮不太感兴趣。)

大多数按钮(和其他控件)是使用资源编辑器创建的,将控件放置在对话框模板或工具栏资源上。如果这样做,Windows将在创建对话框或工具栏时创建按钮。这种方法更受欢迎,因为Windows将根据所使用的屏幕设置的需要调整按钮的大小


如果你不能做到这一点,你必须使用CreateWindow

您没有提到您正在使用的工具,因此我们不知道您是否有资源编辑器。你应该在一个适合这些工具的论坛上对此进行研究。如果您认为编写一行代码来创建按钮“非常复杂”,那么您需要一个更好的工具

如果您不希望按钮出现在图片顶部,则需要另一个位置来放置它们。一种常见的可能性是工具栏。它是主窗口顶部或底部的按钮条:

使用资源编辑器,您可以在按钮上绘制箭头。如果没有资源编辑器,您可以将按钮文本设置为unicode箭头:


SetWindowText(HwnButton1,L“\x25bc”);//向下箭头,向上箭头使用25b2,最后完成。。我既没有使用Qt也没有使用任何createWindowEx创建按钮。遵循的最好和简单的方法是资源编辑器…只需在对话框上放置一些按钮并使用IDD_MAINDIALOG(在我的例子中)

然后

BOOL CALLBACK AMEPreviewHandler::DialogProc(HWND m_hwndPreview, UINT Umsg, WPARAM wParam, LPARAM lParam) 
    { 
switch(Umsg) // handle these messages
        {  .........
}
....
}

就这样。任务很简单。

“我做得对吗?”,不可能。如果您正在编写Qt应用程序,您几乎不需要直接使用CreateWindow或使用windows消息。Qt为您处理特定于API的部分。同意@drescherjm,这是Qt的全部目的-创建跨平台程序,让Qt来处理,或者根本不使用Qt。我想我误解了这个问题。是的,您可以使用裸机winapi创建下一个和上一个按钮,但这通常比使用诸如Qt、MFC、WTL、wxWidgets之类的框架要复杂得多。但这是可以做到的。winapi中没有箭头函数。你需要自己实现。是的,Drescherjm,你是对的,那么你建议我怎么做??因为如果我希望按钮与预览窗格中.pdf文件的显示方式完全相同(带有箭头按钮)。。我对Qt一无所知..使用Qt能做到这一点吗??你能给我一些如何做这样的链接吗??谢谢。如果你不知道Qt,我建议你创建一个有两个按钮的ui不是学习Qt的好理由。如果您最了解winapi,并且希望了解winapi,则可以使用winapi完成此操作。谢谢ScottMcP。。我正在尝试使用工具栏创建按钮以获取引用,我的代码是LRESULT tr1=SendMessage(hWndToolbar,TB_SETIMAGELIST,(WPARAM)ImageListID,(LPARAM)g_hImageList);但是当我调试这个函数时,它给出了tr1=0,因此没有显示ant工具栏,其他SendMessage函数的情况也是如此。你能告诉我问题出在哪里吗??在g_hImageList之后,所有发送消息函数都返回零,并且没有编译错误。但是有件事我想告诉你,在第一次编译时,它给出的错误是IDM_NEW,IDM_OPEN是未定义的,所以我对它们进行了如下定义#定义IDM_NEW 100,但我认为它在预览窗格@ScottMcP.中不显示工具栏没有任何作用。请注意我在这个链接上询问的问题,因为我确信您有解决方案-
BOOL CALLBACK AMEPreviewHandler::DialogProc(HWND m_hwndPreview, UINT Umsg, WPARAM wParam, LPARAM lParam) 
    { 
switch(Umsg) // handle these messages
        {  .........
}
....
}