Controls

Тема в разделе "WASM.WIN32", создана пользователем zStorm, 5 фев 2006.

  1. zStorm

    zStorm New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2005
    Сообщения:
    44
    Адрес:
    Ukraine
    Как изменить шрифт кнопки, созданной с помощью CreateWindow? Все контролы, которые я создаю в окне,

    имеют один и тот же жирный шрифт, его можно поменять?

    Я вот тут думал, может существуют какие-то библиотеки для создания интерфейса, типа MFC.

    Киньте, пожалуйста, ссилочку на какую-то прикольную :)
     
  2. Guest

    Guest Guest

    Публикаций:
    0
    Напишу вкратце. Делаешь константу (в RadAsm удобно)



    Courier_New_24 LOGFONT <-32,0,0,0,700,-1,0,0,0,3,2,1,49,"Courier New]



    ->Вызываешь CreateFontIndirect -> SendMessage(WM_SETFONT) -> DeleteObject (после работы)
     
  3. Chib777

    Chib777 Александр

    Публикаций:
    0
    Регистрация:
    22 сен 2003
    Сообщения:
    82
    Адрес:
    Ukraine, Odessa
    Посмотри библеотеку которую я сделал для кнопок и меню. В разделе проекты, есть тема XXControls. Там для кнопок можно задавать много стилей.
     
  4. Koshak

    Koshak New Member

    Публикаций:
    0
    Регистрация:
    21 фев 2006
    Сообщения:
    31
    Адрес:
    Russia
    0. Параметры функции создания шрифта и размерность их (MSDN)



    HFONT CreateFont(

    int nHeight, // height of font

    int nWidth, // average character width

    int nEscapement, // angle of escapement

    int nOrientation, // base-line orientation angle

    int fnWeight, // font weight

    DWORD fdwItalic, // italic attribute option

    DWORD fdwUnderline, // underline attribute option

    DWORD fdwStrikeOut, // strikeout attribute option

    DWORD fdwCharSet, // character set identifier

    DWORD fdwOutputPrecision, // output precision

    DWORD fdwClipPrecision, // clipping precision

    DWORD fdwQuality, // output quality

    DWORD fdwPitchAndFamily, // pitch and family

    LPCTSTR lpszFace // typeface name

    );





    1. создание шрифта

    HFONT f1;



    f1=CreateFont(

    14,

    5, // nWidth

    0, // nEscapement

    0, // nOrientation

    FW_NORMAL, // nWeight

    0, // bItalic

    0, // bUnderline

    0, // cStrikeOut

    RUSSIAN_CHARSET, // nCharSet

    OUT_DEFAULT_PRECIS, // nOutPrecision

    CLIP_DEFAULT_PRECIS, // nClipPrecision

    DEFAULT_QUALITY, // nQuality

    DEFAULT_PITCH | FF_ROMAN, // nPitchAndFamily

    "Microsoft Sans Serif");



    2. Установка шрифта в контроле:



    SendMessage(hWndPrefTab,WM_SETFONT,(long)f1,1);





    Здесь:



    HFONT - DWORD

    hWndPrefTab - HWND окна, в котором шрифт меняешь



    FW_NORMAL - 400

    RUSSIAN_CHARSET - 204

    OUT_DEFAULT_PRECIS - 0

    CLIP_DEFAULT_PRECIS - 0

    DEFAULT_QUALITY - 0

    DEFAULT_PITCH - 0

    FF_ROMAN - 16