Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Вниз

Вертикальные надписи в StringGrid   Найти похожие ветки 

 
KIR   (2005-03-01 12:07) [0]

Народ, подскажите, как вывести содержимое строки StringGrid"а вертикально?


 
clickmaker ©   (2005-03-01 12:09) [1]

OnDrawCell
ставишь нужную ориентацию и рисуешь текст сам


 
KIR   (2005-03-01 12:16) [2]

Можно чуть подробнее про ориентацию. Где ее выставлять?


 
clickmaker ©   (2005-03-01 12:20) [3]

CreateFontIndirect
logfont.lfOrientation


 
KIR   (2005-03-01 12:29) [4]

спас!


 
KIR   (2005-03-01 15:11) [5]

procedure TRepForm.StringGrid2DrawCell(Sender: TObject; ACol,
 ARow: Integer; Rect: TRect; State: TGridDrawState);
var
  Canv: TCanvas;
  S: String;
  lf: LOGFONT;
  al: UINT;
begin
  Canv := TStringGrid(Sender).Canvas;
  S := TStringGrid(Sender).Cells[ACol,ARow];
  Canv.FillRect(Rect);
  al := DT_LEFT or DT_WORDBREAK or DT_END_ELLIPSIS or DT_NOPREFIX;
  If ARow = 0 then
  begin
     Canv.Brush.Style := bsClear;
     FillChar(Addr(lf), SizeOf(lf), Byte(0)); //constant object cannot be passed as var parametr
     lf.lfHeight := 20;
     lf.lfEscapement := 10 * 45;
     lf.lfOrientation := 10 * 45;
     lf.lfCharSet := DEFAULT_CHARSET;
     Canv.Font.Handle := CreateFontIndirect(Addr(lf));
  end;
  DrawTextEx(Canv.Handle, PChar(S),-1,Rect,al,nil);
end;


 
KIR   (2005-03-01 15:13) [6]

Что-то не выходит, хотя пример взят из справки D7...


 
clickmaker ©   (2005-03-01 15:56) [7]


>  FillChar(Addr(lf), SizeOf(lf), Byte(0)); //constant object
> cannot be passed as var parametr

не надо тут Addr
если уж по адресу, то так
ZeroMemory(@lf, sizeof(LOGFONT));


 
KIR   (2005-03-01 16:02) [8]

Так как же правильно написать в итоге? Если не сложно, можно прям в моем примере поправить...


 
begin...end ©   (2005-03-01 16:03) [9]

> KIR   (01.03.05 16:02) [8]

FillChar(lf, SizeOf(lf), 0) или ZeroMemory(@lf, sizeof(lf))


 
KIR   (2005-03-01 17:13) [10]

Делаю так:

procedure TRepForm.StringGrid2DrawCell(Sender: TObject; ACol,
 ARow: Integer; Rect: TRect; State: TGridDrawState);
var
  Canv: TCanvas;
  S: String;
  lf: LOGFONT;
  al: UINT;
begin
  Canv := TStringGrid(Sender).Canvas;
  S := TStringGrid(Sender).Cells[ACol,ARow];
  Canv.FillRect(Rect);
  al := DT_CENTER;
  If ARow = 0 then
  begin
     Canv.Brush.Style := bsClear;
     FillChar(lf, SizeOf(lf), Byte(0));
     lf.lfHeight := 11;
     lf.lfEscapement := 10 * 90;
     lf.lfOrientation := 10 * 90;
     lf.lfCharSet := DEFAULT_CHARSET;
     Canv.Font.Handle := CreateFontIndirect(lf);
  end;
  DrawTextEx(Canv.Handle, PChar(S),-1,Rect,al,nil);
end;

А результата нет... в чем беда?


 
KIR   (2005-03-02 10:16) [11]

Точнее так:

...
    lf.lfEscapement := 10 * 45;
    lf.lfOrientation := 10 * 45;...


 
clickmaker ©   (2005-03-02 11:20) [12]


> KIR   (02.03.05 10:16) [11]

а где имя шрифта? lfFaceName


 
KIR   (2005-03-02 11:34) [13]

Делаю так:

     Canv.Brush.Style := bsClear;
     FillChar(lf, SizeOf(lf), Byte(0));
     lf.lfHeight := -11;
     lf.lfEscapement := 10 * 45;
     lf.lfOrientation := 10 * 45;
     lf.lfCharSet := DEFAULT_CHARSET;
     lf.lfFaceName := "MS Sans Serif";
     Canv.Font.Handle := CreateFontIndirect(lf);

и ничего не меняется...
Делаю так:

...
     lf.lfHeight := 15;
...

И вижу маленький кусок текста в верхнем левом углу ячейки под углом 45 градсов...



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

Форум: "Основная";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.034 c
3-1108107634
Mishenka
2005-02-11 10:40
2005.03.13
В поле какого типа лучше всего загружать Gif файлы?


6-1105344825
ctranik
2005-01-10 11:13
2005.03.13
Вопрос по TIdHttp


1-1109269017
Gear
2005-02-24 21:16
2005.03.13
Приоритеты процессов


11-1088968274
Sagrer
2004-07-04 23:11
2005.03.13
Запись инфы из ключа реестра в файл


1-1109667568
Serge_2
2005-03-01 11:59
2005.03.13
StatusBar - прорисовка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский