Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.12;
Скачать: CL | DM;

Вниз

Как получить список фонтов в WideString?   Найти похожие ветки 

 
Huk   (2006-02-08 15:27) [0]

Мастера, добрый день!
Есть такая функция EnumFonts. Юзаю так:
EnumFonts(DC, nil, @EnumFontsProc, Pointer(Test.Strings));
Если Test.Strings не юникодный, то начинаются траблы, вместо данных - кубики.
Спасибо за помощь.


 
Huk   (2006-02-08 15:33) [1]

Вопрос снимается.
EnumFontsW, EnumFontsProcW, TLogFontW - рулят.


 
Huk   (2006-02-08 18:47) [2]

Мастера, подскажите, как сделать такой список, как верде - каждая строка отображается своим шрифтом?


 
Джо ©   (2006-02-08 18:55) [3]

Двигайся в таком направлении.

Выставь у ComboBox.Style := csOwnerDrawFixed, в событии OnDrawItem:

procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
 Rect: TRect; State: TOwnerDrawState);
begin
 with TComboBox(Control).Canvas do
 begin
   if odSelected in State then
   begin
     Brush.Color := clActiveCaption;
     Font.Color := clHighlightText;
   end
   else
   begin
     Brush.Color := clWindow;
     Font.Color := clWindowText;
   end;
   FillRect (Rect);

   Font.Name := TComboBox(Control).Items[Index];
   TextOut(Rect.Left,Rect.Top,TComboBox(Control).Items[Index]);
 end;
end;


Ну, и заполнить список:
procedure TForm1.Button1Click(Sender: TObject);
begin
 ComboBox1.Items.Assign(Screen.Fonts);
end;



Страницы: 1 вся ветка

Текущий архив: 2006.03.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.038 c
15-1139941005
Кто - то
2006-02-14 21:16
2006.03.12
Вопрос законопослушного программиста


3-1137281701
КодеКорешь
2006-01-15 02:35
2006.03.12
FIBDataSet после редактирование Modifed остается false


15-1139849830
basnik
2006-02-13 19:57
2006.03.12
Требуется написать программу за $$$


15-1140366549
Fenik]
2006-02-19 19:29
2006.03.12
Ищу варган


1-1139205912
Калк
2006-02-06 09:05
2006.03.12
Как скопировать текст из чужого окна?