Ejemplo n.º 1
0
void WindowsApp::OnAppOptions()
{
    QWinWidget *win = new QWinWidget(theApp.m_pMainWnd);
    win->showCentered();

    QDialog *dialog = new QDialog(win);
    Ui::OptionsDialog ui;
    ui.setupUi(dialog);
    dialog->setAttribute(Qt::WA_DeleteOnClose);
    dialog->show();
}
Ejemplo n.º 2
0
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message) 
    {
    case WM_LBUTTONUP:
	{
	    QWinWidget w(hWnd, 0, 0);
	    w.showCentered();
	    QMessageBox mb("Qt on Win32 - modal",
		"Is this dialog modal?",
		QMessageBox::NoIcon,
		QMessageBox::Yes | QMessageBox::Default,
		QMessageBox::No  | QMessageBox::Escape,
		QMessageBox::NoButton, &w);
	    int result = mb.exec();
	    Q_UNUSED(result);
	}
	break;

    case WM_RBUTTONUP:
	{
	    QWinWidget *w = new QWinWidget(hWnd, 0, 0);
	    w->showCentered();
	    QMessageBox *mb = new QMessageBox("Qt on Win32 - modeless",
		"Is this dialog modal?",
		QMessageBox::NoIcon,
		QMessageBox::Yes | QMessageBox::Default,
		QMessageBox::No  | QMessageBox::Escape,
		QMessageBox::NoButton, w);
            mb->setModal(false);
            mb->setAttribute(Qt::WA_DeleteOnClose);
	    mb->show();
	}
	break;

    case WM_KEYDOWN:
        if (wParam != VK_TAB)
            return DefWindowProc(hWnd, message, wParam, lParam);

        SetFocus(winId);

        break;

    case WM_SETFOCUS:
        {
            QString str("Got focus");
            QWidget *widget = QWidget::find(HWND(wParam));
            if (widget)
                str += QString(" from %1 (%2)").arg(widget->objectName()).arg(widget->metaObject()->className());
            str += "\n";
            OutputDebugStringA(str.toLocal8Bit().data());
        }
        break;

    case WM_KILLFOCUS:
        {
            QString str("Lost focus");
            QWidget *widget = QWidget::find(HWND(wParam));
            if (widget)
                str += QString(" to %1 (%2)").arg(widget->objectName()).arg(widget->metaObject()->className());
            str += "\n";

            OutputDebugStringA(str.toLocal8Bit().data());
        }
        break;

    case WM_DESTROY:
	PostQuitMessage(0);
	break;

    default:
	return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}