Как воссоздать стиль, используемый редактором ресурса, когда создание MFC управляет динамично?

Используя Информационную схему Стандарт SQL способ сделать это, таким образом, это должно использоваться всеми базами данных, которые поддерживают его.

5
задан Xperimental 21 July 2009 в 09:23
поделиться

4 ответа

См. Ответы DavidK и острый зуб за решение моих проблем.

-1
ответ дан 14 December 2019 в 01:14
поделиться

Я думаю, что лучший способ сделать это - поместить элемент управления через редактор диалогов в диалоговое окно, установить для него стили оформления по своему выбору, а затем открыть файл .rc в текстовом редакторе. и скопируйте оттуда стили этого элемента управления. Таким образом, вы сможете создавать элементы управления, которые намного ближе к тем, которые вы добавляете с помощью редактора диалогов.

например, после помещения простой кнопки в диалоговое окно, имеющее кнопки OK / Отмена и текстовый элемент управления, мое диалоговое окно выглядит как это в файле .rc:

IDD_MFCAPP_DIALOG DIALOGEX 0, 0, 320, 200
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "MFCApp"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
    DEFPUSHBUTTON   "OK",IDOK,263,7,50,16
    PUSHBUTTON      "Cancel",IDCANCEL,263,25,50,16
    CTEXT           "TODO: Place dialog controls here.",IDC_STATIC,10,96,300,8
    PUSHBUTTON      "Button1",IDC_BUTTON1,43,17,50,14
END

Теперь, поскольку у меня есть вся информация о том, как диалог был создан на сервере, я могу просто воспроизвести это поведение с помощью кода.

PS Конечно, вы бы сделали это в отдельном тестовом проекте.

4
ответ дан 14 December 2019 в 01:14
поделиться

Вам необходимо добавить стиль ES_AUTOHSCROLL в поле редактирования. Этот стиль отвечает за прокрутку текста влево, когда вы вводите больше текста, чем может отобразить поле.

Открытие файлов .rc в текстовом редакторе и поиск стилей элементов управления может помочь вам найти такие моменты.

1
ответ дан 14 December 2019 в 01:14
поделиться

Динамически создаваемые элементы управления всегда изначально получают стандартный шрифт: обычный подход - просто установить шрифт элемента управления на шрифт родительского диалогового окна: что-то вроде

  pEdits[i]->SetFont(GetFont());
5
ответ дан 14 December 2019 в 01:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: