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

Вниз

Подскажите, как   Найти похожие ветки 

 
Layner   (2004-02-03 08:36) [0]

*


 
Layner   (2004-02-03 08:38) [1]

В смысле ее рабочую область.


 
Layner   (2004-02-03 08:48) [2]

У меня даже не получается текст вывести :(

procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Canvas.Brush.Color := clMoneyGreen;
Form1.Canvas.Font.Color := clBlack;
Form1.Canvas.Font.Style:= [fsBold];
Form1.Canvas.TextOut(10,10,"Test");
end;

... и чистая форма..


 
MBo   (2004-02-03 08:51) [3]

придется либо перекрывать WindowProc родительской формы, либо в обработчике Application.OnMessage рисование перехватывать


 
Sergey_Masloff   (2004-02-03 09:19) [4]

Я с месяц назад приводил пример. Ищите в архивах - второй раз писать лень.


 
Layner   (2004-02-03 09:53) [5]

Sergey_Masloff (03.02.04 09:19)
напишие плз ключевые слова, или если ветка старая, то она уже в архиве :( Если найду, напишу.


 
Cobalt   (2004-02-03 09:54) [6]

Может, бросить на неё Image?


 
Sergey_Masloff   (2004-02-03 09:58) [7]

Cobalt © (03.02.04 09:54) [6]
>Может, бросить на неё Image?
На MDI-форм? Слушай не знаешь так людей не смеши ;-)


 
Sergey_Masloff   (2004-02-03 10:06) [8]

Layner © (03.02.04 09:53) [5]
Тема была как вывести текст лога на MDI. Сейчас нет времени я б написал за полчаса. Суть в том что нужно подменить оконную функцию и в ней обрабатывать события рисования. Если до вечера не найдешь я пример напишу. Сейчас нет времени.


 
REP   (2004-02-03 10:07) [9]

procedure TMainForm.FormCreate(Sender: TObject);
begin
NewWinProc := MakeObjectInstance (NewWinProcedure);
OldWinProc := Pointer (SetWindowLong (
ClientHandle, gwl_WndProc, Cardinal (NewWinProc)));
OutCanvas := TCanvas.Create;
end;

procedure TMainForm.NewWinProcedure (var Msg: TMessage);
var
BmpWidth, BmpHeight: Integer;
I, J: Integer;
begin
// default processing first
Msg.Result := CallWindowProc (OldWinProc,
ClientHandle, Msg.Msg, Msg.wParam, Msg.lParam);

// handle background repaint
if Msg.Msg = wm_EraseBkgnd then
begin
BmpWidth := MainForm.Image1.Width;
BmpHeight := MainForm.Image1.Height;
if (BmpWidth <> 0) and (BmpHeight <> 0) then
begin
OutCanvas.Handle := Msg.wParam;
for I := 0 to MainForm.ClientWidth div BmpWidth do
for J := 0 to MainForm.ClientHeight div BmpHeight do
OutCanvas.Draw (I * BmpWidth,
J * BmpHeight, MainForm.Image1.Picture.Graphic);
end;
end;
end;
(C) Кэнту


 
Sergey_Masloff   (2004-02-03 10:10) [10]

REP © (03.02.04 10:07) [9]
Да я в свое время у Кэнту научился. Но в приведенном коде есть недостаток - сделай максимизированное окно, потом "нормализуй" и снова разверни. Видишь? Хотя устраняется несложно.


 
Layner   (2004-02-03 10:25) [11]

>Хотя устраняется несложно.
После ресайза прогнать процедуру заново?


 
REP   (2004-02-03 11:21) [12]

Sergey_Masloff (03.02.04 10:10) [10]
Я так понимаю пример и не должен подходить 100% к вопросу, должно же остаться поле для деятельноси мозгов...


 
Игорь Шевченко   (2004-02-03 12:12) [13]

REP © (03.02.04 11:21)

Для деятельности мозгов достаточно одного слова - WM_ERASEBKGND ;)



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

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

Наверх




Память: 0.47 MB
Время: 0.01 c
3-38727
koks
2004-01-19 11:54
2004.02.13
Update с параметром - не пашет :((


1-38849
Janbolat
2004-02-02 14:22
2004.02.13
Export to html


1-38800
Valter
2004-02-02 23:23
2004.02.13
Сравнение ListView


11-38764
BelchonokH
2003-05-18 19:09
2004.02.13
как можно заменить AllocateHWnd ?


14-39054
pumba
2004-01-24 18:33
2004.02.13
Народ, как вступить в ФИДО?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский