![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Всем привет! Есть форма. На ней несколько десятков Labelов. При клике мыши по Label он меняет цвет. При нажатии Button выделенные Labelы должны поменять позицию. Ну например Label43.Top:= Label43.Top+1; Это всё понятно, ну как узнать из кучи Labelов какие из них поменяли цвет, чтобы именно они передвигались при клике по Button. Вообщем объяснил как смог. Надеюсь на Вашу помощь.
|
#2
|
||||
|
||||
![]() Код при нажатии на кнопку:
Код:
procedure TMyForm.ButtonClick(Sender: TObject); var i: Integer; begin for i := 0 to ComponentCount - 1 do if Components[i] is TLabel then if TLabel(Components[i]).Font.Color = clRed then begin TLabel(Components[i]).Font.Color := clBlack; TLabel(Components[i]).Top := TLabel(Components[i]).Top + 1; end; end; Работа пpогpаммиста и шамана имеет очень много общего: оба боpмочyт непонятные слова, совеpшают непонятные действия и не могyт объяснить, как оно pаботает. |
#3
|
|||
|
|||
![]() Цитата:
Спасибо БОЛЬШОЕ. Ещё один вопросик. На форме есть компонент Image отображающий бланк документа формата А4. Я хочу сделать чтобы при выводе на печать Image.Enable:= false; и остались бы одни Labelы. Но при Form.Print; печатается только видимая часть формы. На каком компоненте можно разместить Labelы, чтобы печатался весь документ. |
#4
|
||||
|
||||
![]() vmilyoshin, эксперементировали со свойтсвом формы "PrintScale"? Насколько я знаю, печатается только видимая на экране часть формы (если я неправ - не судите строго).
Из "родной" справки Delphi: Цитата:
Работа пpогpаммиста и шамана имеет очень много общего: оба боpмочyт непонятные слова, совеpшают непонятные действия и не могyт объяснить, как оно pаботает. Последний раз редактировалось Amgsys HQ, 17.11.2011 в 23:40. |
#5
|
|||
|
|||
![]() Цитата:
Не помогло. То что не входит в видимую часть формы всёравно остаётся за кадром. |
#6
|
|||
|
|||
![]() Придется печатать самому
![]() Собственно, создать битмап и с помощью TextOut вывести на него содержимое всех меток - не так и сложно. Только не забудь, что у принтера разрешение "немножко" больше, чем у монитора, соответсвенно, надо умножить все размеры и координаты на соотв. коэф. (ЗЫ. размер шрифта увеличивать не надо). |