Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

delphi6

Всем привет, такой вопрос, точнее несколько. Понимаю что ничего особо
сложного нет и в инете есть куча примеров, простовремени искать нет
вообще, а нужно срочно. А нужно:
1.пример когда у проги нет кнопки, только иконка в трее
2.можно ли в checklistbox для каждой из строчки еще выводить и
картинки
3.описание работы с файлами ресурсов
всем кто откликнется бАльшое спасибо

Ответить   Tue, 3 Feb 2004 20:47:06 +0200 (#70681)

 

Ответы:

Hi!
1.А очепятки нигде нет?Причем кнопка к иконке в трее?
2.Насколько я понимаю - нет.В ComboBox - да.МОжет в Delphi 7...
3.Можешь ResHacker'ом попробовать.:-) Хоtя это и изврат...

Ответить   Wed, 04 Feb 2004 00:00:20 +0200 (#70809)

 

Здарова, Boris Kolupaev!

4 февраля 2004 г., среда, 03:00:20, ты намылил:

Ты просто вопрос portos'a не понял.

Portos лови UUE.
Инструкция к UUE. Копируешь от ==Начало SHELL.UUE== до ==Конец SHELL.UUE== без
этих границ. Удаляешь строчку после begin (4-ю строку). Сохраняешь в блокноте
как SHELL.UUE и открываешь RAR'ом.

==Начало SHELL.UUE==
section 1 of uuencode 5.10 of file shell.rar by R.E.M.

begin
удали этот текст, без него BAT тупит.
644 shell.rar
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
K!JQNFD/C&M]">ORU"B<,:]P]P;#Y;HWWW1K61DQNU7Q3;7_:Q#U[`$`'`$`'
`
end
sum -r/size 44729/7652 section (from "begin" to "end")
sum -r/size 41902/5533 entire input file

==Конец SHELL.UUE==

Если ты не знаешь как что-то сделать это не значит что такое невозможно.

procedure TForm1.CheckListBox1DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
(Control as TCheckListBox).Canvas.FillRect(Rect);
ImageList1.Draw((Control as TCheckListBox).Canvas,20,rect.Top,Index,true);
(Control as TCheckListBox).Canvas.TextOut(rect.Left+2+20+2,rect.Top,(Control
as TCheckListBox).Items[index]);
end;

или

procedure TForm1.CheckListBox1DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
(Control as TCheckListBox).canvas.TextOut(rect.Left+2+10+2,rect.Top,(Control
as TCheckListBox).Items[index]);
(Control as TCheckListBox).canvas.Brush.Color:=clBlue;
(Control as TCheckListBox).canvas.Rectangle(rect.Left+2,rect.Top+2,rect.Left+2+10,rect.Top+2+10);
(Control as TCheckListBox).canvas.Brush.Color:=clblack;
(Control as TCheckListBox).canvas.Rectangle(0,0,0,0);
end;

со смещением по левому краю поэкспериментируй (rect.Left+2+20+2 и т.д.)

Где-то есть, но в облом искать (у меня на харде бардак хуже чем в
инете) так что ты уж поищи сам.

--
Никогда больше не буду говорить афоризмами. Да, кстати, запишите мою последнюю
фразу

Ответить   Томилов Александр Wed, 4 Feb 2004 06:41:48 +0500 (#70986)

 

Здарова, Томилов Александр!

4 февраля 2004 г., среда, 06:41:48 (GMT+05:00), ты намылил:

Сорри - письмо сорвалось и улетело не успел подправить
- там ответ на вопрос BorMana "Рисунки в ListBox"

--
Никогда больше не буду говорить афоризмами. Да, кстати, запишите мою последнюю
фразу

Ответить   Томилов Александр Thu, 29 Apr 2004 22:55:32 +0500 (#136960)

 

Здравствуйте, portos_ua,

Можно!!
1. Устанавливаешь CheckListBox1.Style:=lbOwnerDrawVariable; Можно при
активации формы, а можно и при разработке, сразу значение поставить.
2. Создаешь обработчик события: OnDrawItem

procedure TForm1.CheckListBox1DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
with CheckListBox1.Canvas do begin
Brush.Color := clRed;
FillRect(Rect);
Font.Color := clYellow;
ImageList1.Draw(CheckListBox1.Canvas,Rect.Left,Rect.Top, Index);
TextOut(Rect.left + 30, Rect.top + 2, 'Panel' + IntToStr(Index));
end;
end;

Изображения берутся из ImageList1. Можно из ресурсов:

procedure Tmain_frm.FormActivate(Sender: TObject);
var i: integer;
bmp:TBitmap;
str:string;
ch:array [0..100] of char;
begin
List_all:=TStringList.Create;
for i:=1 to 16 do
begin
loadString(HInstance, i, ch, 100);
str := string(ch);
bmp:=TBitMap.Create;
bmp.LoadFromResourceID(HInstance, i);
List_all.AddObject (str, bmp);
end;
Listbox1.Items.Assign (List_all);
end;

А потом в обработчике:
procedure Tmain_frm.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var bmp :TBITMAP;
begin
bmp:=TBitMap(ListBox1.items.Objects[index]);
ListBox1.canvas.fillRect(rect);
ListBox1.canvas.TextOut (rect.Left+bmp.Width +2,
rect.Top,ListBox1.Items[index]);
ListBox1.canvas.draw(rect.Left, rect.Top, bmp);
end;

Это так, наброски, тут еще можно шлифовать и оптимизировать!!

Видимо, "у проги нет формы". Для создания иконки можно воспользоваться
функцией API Shell_NotifyIcon (модуль ShellApi) или компонентом
TRxTrayIcon. Форму создать в любом случае нужно, просто
не отображать ее, а для этого в dpr-ке запускать цикл
обработки сообщений так:

Application.ShowMainForm := false;
Application.Run;

Если будешь использовать Shell_NotifyIcon, понадобится определить
свое сообщение (что-нибудь вроде WM_USER+1000) и
обработчик для него.

Конечно можно, но тогда рисовать строку придется самому,
установив обработчик OnDrawItem.

Вопрос очень обширный, а потому непонятно, что нужно. Многие
стандартные компоненты имеют методы для загрузки себя из
ресурсов (TBitmap, например). В Win32 API много функций
загрузки стандартных ресурсов. А если ресурс нестандартный,
опять же можно использовать API: FindResource,
LoadResource,LockResource.

PS. Для всех.
Читайте документацию. Обычно это ненамного медленнее, чем
сразу писать вопросы в лист, а пользы больше. В процессе
поиска решения конкретной задачи узнаете что-то, что
потребуется позже. Да и систему, под которую
пишете, будете "чувствовать".
Номер выпуска : 1711
Возраст листа : 136
Количество подписчиков : 377
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/71043
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Wed, 4 Feb 2004 10:30:39 +0300 (#71043)

 

Приветец, portos_ua!

Tuesday, February 3, 2004, 10:47:06 PM, ты выдал:

В инете порыть - 10 минут... плюс макс. 30 минут скачать необходимые
компоненты если необходимы.

используй CoolTrayIcon (лови в аттаче)

нельзя.

ну блин, а че, предыдущие обсуждения влом прочитать?
цитирую, с позволения Feniks'а:

Если ты хочешь сохранить (хранить) некие файлы внутри своего ЕХЕ или
DLL и их от туда вытягивать и работать с ними, могу посоветовать
следующие на Делфи (на Билдере будет тоже самое, но другой синтаксис):

создаешь текстовый файл с расширением .RC и пишешь в нем
<имя ресурса> <тип хранимого ресурса> <имя файла>
например:
BackGround0 BITMAP "BackGround0.bmp"
BackGround1 BITMAP "BackGround1.bmp"
BackGround2 BITMAP "BackGround2.bmp"
BackGround3 BITMAP "BackGround3.bmp"
SoundAbout WAVE "About.wav"
CurSQLWait RCDATA "SQLWait.ani"
AnimateWait AVI "AnimateWait.avi"

тут перечислены стандартные типы ресурсов. так же можно использовать
свои, наприме MYGIF. но лучше использовать стандартные, так тогда
проще их вытягивать будет. Так как для GIF и JPG нет стандартных
типов, необходимо использовать RCDATA.
Потом все это сохраняешь под именем myres.rc
ОЧЕНЬ ВАЖНО, что бы все перечисленные в нем файлы и сам файл RC лежали
в одной папки.

Далее, компилируешь его с помощью утилиты brcc32 в файл .RES
brcc32 myres.rc
В результате получаешь myres.res
Вот его потом присоединяешь в свое проект или в отдельный модель.
{$R myres.res}

Тот файл RES, который сама Делфя используем по умолчания для каждого
проекта, лучше не использовать, получишь много головной боли хлопот. Я
это сам на своей шкуре испытал.

После присоединения его к проекты надо проект перебилдить (Build), а
не перекомпилировать, т.к. при компиляции он не компилит файл RES в
ЕХЕ. И в последующих изменениях в RC файле надо каждый раз билдить
весь проект.

Что бы вытянуть эти ресурсы из ЕХЕ файла и сохранить их в файлы:
var
ResStream : TResourceStream;
begin
ResStream := TResourceStream.Create(hInstance, <имя ресурса>, RT_RCDATA);
ResStream.SaveToFile('NameFile.ext');
ResStream.Free;
end;

Смотри в Хелпе:
TResourceStream, LoadImage, LoadFromResourceName, LoadFromResourceID,
LoadIcon, PlaySound, FindResource, FindResourceEx и т.д. и т.п.

Ответить   Шевченко Сергей Wed, 4 Feb 2004 10:08:30 +0400 (#71055)