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

Вниз

о нем   Найти похожие ветки 

 
lamachok   (2002-10-19 14:27) [0]

здрасте... у меня несколько вопросов но они все маленькие и создавать
тему под них нет смысла
1.где можно достать наиподробнейшую инфу по kol
2.обязательно ли писать
допустим {$IFDEF TEST_NOCAPTION}...{$ENDIF} и т.д. я имею ввиду то что
в {..}
3.как растянуть форму на весь экран(и ваабще работа с реестром с файлами
такая же как в дельфи??(без kol))


 
Gandalf   (2002-10-19 16:35) [1]

>1.где можно достать наиподробнейшую инфу по kol

Немного есть тут, есть официальный сайт http://xcl.cjb.net/ (там статьи и FAQ),
можно еще установить xHelpGen - пощалуй и все, собственно программирование на КОЛ не так уж и сильно отличается от обычного Дельфи - тут главное улавить общие принципы и готово.

>2.обязательно ли писать
допустим {$IFDEF TEST_NOCAPTION}...{$ENDIF} и т.д. я имею ввиду то что
в {..}
Не понял, это ты про MCK проект или про примеры Кладова (КОЛ)?
В MKC обязательно только то, что генерится само, в примерах у Кладова условная компиляция сделана "для себя" (потому и _TEST_ - тесты это) если тебе не надо, не используй.

>3.как растянуть форму на весь экран(и ваабще работа с реестром >с файлами
>такая же как в дельфи??(без kol))

Максимайз? Ну так поставь свойтсво Максимайз у формы. Или тебе FullScreen - тогда иди в форум Игр - только вопрос не задавай а ищи ответ, поскольку его так часто задавали, что он всем уже надоел. Про работу с реестром и файлами есть тут (статьи) - но что значит без КОЛ? КОЛ без КОЛ, это как?


 
lamachok   (2002-10-20 15:07) [2]

все понятно вот написал прогу а теперь хочу написать ее с помошью kol и посмотреть разницу размера перевидите мне пжалуста вот этот фрагмент на kol
procedure TForm1.FormPaint(Sender: TObject);
var y:integer;
blue:byte;
const text=" Корпорация Microsoft";
begin
with form1.Canvas do begin
for y:=0 to form1.Height-1 do begin
blue:=round($ff*(form1.Height-y)/form1.Height);
pen.Color:=rgb(0,0,blue);
moveto(0,y);
lineto(form1.Width-1,y)
end;
font.Size:=32;
font.Style:=[fsbold,fsitalic];
font.Name:="times new roman cyr";
setbkmode(handle,transparent);
font.Color:= clblack;
textout(40,30,text);
font.Color:=clwhite;
textout(36,36,text);
end;
end;


 
SPeller   (2002-10-20 15:52) [3]

var y:integer;
blue:byte;
const text=" Корпорация Microsoft";
begin
with form.Canvas do begin
for y:=0 to form.Height-1 do begin
blue:=round($ff*(form.Height-y)/form.Height);
pen.Color:=rgb(0,0,blue);
moveto(0,y);
lineto(form.Width-1,y)
end;
Font.Width := 0;
font.Height:=32; //тут надо ещё подобрать циферу для нужного размера
font.Style:=[fsbold,fsitalic];
font.Name:="times new roman cyr";
setbkmode(handle,transparent);
font.Color:= clblack;
textout(40,30,text);
font.Color:=clwhite;
textout(36,36,text);
end;
end;


 
lamachok   (2002-10-20 19:38) [4]

плиз приведи полный код(с прорисовкой всей формы)...


 
Gandalf   (2002-10-20 20:53) [5]

Если это MCK, то у компонента KOLForm ставишь код SPeller"а в event OnPaint - и все.


 
Gandalf   (2002-10-20 21:01) [6]

Мда... SPeller немного поторопился. Реально код такой:

procedure TForm1.KOLForm1Paint(Sender: PControl; DC: HDC);
var
y:integer;
blue:byte;
const text=" Корпорация Microsoft";
begin
with form.Canvas^ do
begin
for y:=0 to form.Height-1 do
begin
blue:=round($ff*(form.Height-y)/form.Height);
pen.Color:=rgb(0,0,blue);
moveto(0,y);
lineto(form.Width-1,y)
end;
Font.FontWidth := 0;
font.FontHeight:=32; //тут надо ещё подобрать циферу для нужного размера
font.FontStyle:=[fsbold,fsitalic];
font.FontName:="times new roman cyr";
setbkmode(handle,transparent);
font.Color:= clblack;
textout(40,30,text);
font.Color:=clwhite;
textout(36,36,text);
end;
end;

ЗЫ: Размер 28Кб (KOLnMCK), Замена СисБиб 18Кб (KOLnMCK),
ну и РАР потом еще в 2-раза (9Кб), или UGH 9,5Кб. Про VCL я думаю все понимают что >200Кб. Вот и сравнивай.

ЗЗЫ: Правда с прозрачностью кривак, но это дело поправимо.


 
lamachok   (2002-10-21 00:16) [7]

нет вы не поняли(да щас код работает).... напишите весь код
я просто не понимаю как его написать с kol(и хачу посмотреть)


 
SPeller   (2002-10-21 00:45) [8]

Те ж говорят, поставь МСК и в обработчике какого-нить события (OnPaint, OnClick, etc) вставь вышеприведённый код. Если тебе лень это сделать, то неужели ты думаешь что остальным охота это делать?


 
SPeller   (2002-10-21 00:46) [9]


> я просто не понимаю как его написать с kol

так же как и с VCL - руками :-))


 
Gandalf   (2002-10-21 10:37) [10]

Я преодолел лень... Вот полный код, открываешь компилишь. DIXI.

program TestKOL;

uses
windows,
messages,
kol;

var W: PControl;

procedure PaintIt( Dummy : Pointer; Sender: PControl; DC: HDC );
var
y:integer;
blue:byte;
const text=" Корпорация Microsoft";
begin
with Sender.Canvas^ do
begin
for y:=0 to Sender.Height-1 do
begin
blue:=round($ff*(Sender.Height-y)/Sender.Height);
pen.Color:=rgb(0,0,blue);
moveto(0,y);
lineto(Sender.Width-1,y)
end;
Font.FontWidth := 0;
font.FontHeight:=32; //тут надо ещё подобрать циферу для нужного размера
font.FontStyle:=[fsbold,fsitalic];
font.FontName:="times new roman cyr";
setbkmode(handle,transparent);
font.Color:= clblack;
textout(40,30,text);
font.Color:=clwhite;
textout(36,36,text);
end;
end;


procedure TestObjs;
begin
W := NewForm( Applet, "Test" );
W.OnPaint := TOnPaint( MakeMethod( nil, @PaintIt ) );
W.Icon := THandle( -1 );
Run( W );
end;

begin
TestObjs;
end.



 
HekTo   (2002-10-21 14:58) [11]

Чтобы избавиться от глюка с прозрачностью замени [I]setbkmode(handle,transparent);[/I] на [I]brush.brushstyle:=bsClear;[/I].


 
lamachok   (2002-10-21 18:03) [12]

Вот видите совмесными усилиями вы смогли мне вполне толково обяснить что к чему....
ну и тогда на последок еще спрошу
1.с vcl form1.BorderStyle:=bsNone; а в kol w.Style:=???;
2.вот значит с vcl у меня для того чтобы окно было невозможно закрыть писал в FormClose action:=canone; а как энто в kol сотворить. Сразу скажу я сам пытался
var W: PControl;
procedure Closeit( Dummy : Pointer; Sender: PControl; DC: HDC );
begin
action:=canone;//этого он не понимает
end;
procedure TestObjs;
begin
W := NewForm( Applet, "Test" );
W.Icon := THandle( -1 );
W.OnClose := TOnClose( MakeMethod( nil, @Closeit ));//и тут
Run( W );
end;
begin
TestObjs;
end.


 
HekTo   (2002-10-21 18:39) [13]

Ты реально в хелп по колу то загляни, а ? ;)
Какая связь между "procedure Closeit( Dummy : Pointer; Sender: PControl; DC: HDC)" и "TOnClose" ? К тому же там по-моему нужен TOnEventAccept...
Скачай XHElpGen и не мучайся.


 
Gandalf   (2002-10-21 19:04) [14]

1.с vcl form1.BorderStyle:=bsNone; а в kol w.Style:=???;

KOLFOrm.HasBorder:=False;

2.вот значит с vcl у меня для того чтобы окно было невозможно закрыть писал в FormClose

procedure Closeit( Dummy : Pointer;Sender: PObj; var Accept: Boolean);
begin
Accept:=False; // Это он понимает
end;

ЗЫ: Начни с MCK, он больше на VCL похож - новые свойства в design-time подъучишь и т.п.

ЗЗЫ: xHelpGen скачай, и почитай статьи на сайте Кладова.



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

Форум: "KOL";
Текущий архив: 2003.06.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.041 c
14-97833
DDDD
2003-06-12 09:34
2003.06.30
Microsoft DDK


6-97775
Nigger
2003-04-23 14:26
2003.06.30
Socket Threads?????


3-97475
Goga
2003-06-04 14:14
2003.06.30
Событие WillChangeField


14-97839
Soft
2003-06-10 15:33
2003.06.30
Операционная система это очень


1-97691
TimV
2003-06-17 17:25
2003.06.30
Как определить нажатие скролера мышки





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