СHARFORMAT

Тема в разделе "WASM.BEGINNERS", создана пользователем DuXeN0N, 5 май 2009.

  1. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    У RichEdit своё сообщение EM_SETCHARFORMAT
     
  2. DuXeN0N

    DuXeN0N New Member

    Публикаций:
    0
    Регистрация:
    2 май 2009
    Сообщения:
    46
    Y_Mur
    А она с choosefont пойдет?
     
  3. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Просто разберёшься с передаваемыми её CHARFORMAT и LOGFONT и перенесёшь в их соответсвующие поля нужные значения взятые из CHOOSEFONT.
     
  4. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    DuXeN0N
    Неужели нельзя так?
    Код (Text):
    1. cf CHOOSEFONT,sizeof.CHOOSEFONT,0,0,0,0,CF_ANSIONLY+CF_EFFECTS+CF_SCREENFONTS,0,0,0,0,0,0,0,0,0
    И никаких mov
     
  5. DuXeN0N

    DuXeN0N New Member

    Публикаций:
    0
    Регистрация:
    2 май 2009
    Сообщения:
    46
    murder
    сделал. теперь диалог не появляется
     
  6. DuXeN0N

    DuXeN0N New Member

    Публикаций:
    0
    Регистрация:
    2 май 2009
    Сообщения:
    46
    так. помогите пож.
    не могу передать данные из LOGFONT в CHARFORMAT
    помогите пож.

    структуры вот:

    http://msdn.microsoft.com/en-us/library/dd145037(VS.85).aspx
    http://msdn.microsoft.com/en-us/library/bb787881(VS.85).aspx
     
  7. DuXeN0N

    DuXeN0N New Member

    Публикаций:
    0
    Регистрация:
    2 май 2009
    Сообщения:
    46
    есть кто? дайте хотя бы статью или рассказжите как данные передать из одной структуры в другую
     
  8. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    Это нужно для RichEdit?

    Попробуй так

    Код (Text):
    1. invoke GetDC,[RichEditHandle]
    2. mov    [DC],eax
    3. invoke CreateFontIndirect,_LOGFONT
    4. invoke SelectObject,[DC],eax
     
  9. DuXeN0N

    DuXeN0N New Member

    Публикаций:
    0
    Регистрация:
    2 май 2009
    Сообщения:
    46
    murder
    не работает. и мне надо чтобы не ко всему тексту шрифт а к выделенному
     
  10. DuXeN0N

    DuXeN0N New Member

    Публикаций:
    0
    Регистрация:
    2 май 2009
    Сообщения:
    46
    не могу даже представить как это сделать(
     
  11. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    Может это
    Код (Text):
    1. charformat.cbSize         =26+LF_FACESIZE;
    2. charformat.dwMask         =(tagLOGFONT.lfWeight==0)+(tagLOGFONT.lfItalic << 1)+(tagLOGFONT.lfUnderline<<2)+(tagLOGFONT.lfStrikeOut<<3);
    3. charformat.dwEffects      =charformat.dwMask;
    4. charformat.yHeight        =tagLOGFONT.lfHeight;
    5. charformat.yOffset        =tagLOGFONT.lfEscapement;;
    6. charformat.crTextColor    =0;
    7. charformat.bCharSet       =tagLOGFONT.lfCharSet;
    8. charformat.bPitchAndFamily=tagLOGFONT.lfPitchAndFamily;
    9. charformat.szFaceName     =tagLOGFONT.lfFaceName;
     
  12. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    Хотя вот это бред
     
  13. DuXeN0N

    DuXeN0N New Member

    Публикаций:
    0
    Регистрация:
    2 май 2009
    Сообщения:
    46
    murder
    не работает вообще.
    charformat.dwMask =(tagLOGFONT.lfWeight==0)+(tagLOGFONT.lfItalic << 1)+(tagLOGFONT.lfUnderline<<2)+(tagLOGFONT.lfStrikeOut<<3);
    invalid expression

    что на всем сайте нет того кто писал на FASM блокнот?
     
  14. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    ну это я имел в виду
    Код (Text):
    1. cmp   [tagLOGFONT.lfWeight],0
    2. sete  al
    3. mov   dl,[tagLOGFONT.lfItalic]
    4. shl   dl,1
    5. or    al,dl
    6. mov   dl,[tagLOGFONT.lfUnderline]
    7. shl   dl,2
    8. or    al,dl
    9. mov   dl,[tagLOGFONT.lfStrikeOut]
    10. shl   dl,3
    11. or    al,dl
    12. movzx eax,al
    13. mov   [charformat.dwMask],eax