Виртуальная библиотека Delphi - [91]
> EndPlace.x := X;
> EndPlace.y := Y;
> DrawFocusRect(Form1.Canvas.Handle,MakeRect(StartPlace,EndPlace));
> Capturing := true;
> Captured := true;
> end;
>procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
>begin
> if Capturing then begin
> DrawFocusRect(Form1.Canvas.Handle,MakeRect(StartPlace,EndPlace));
> EndPlace.x := X;
> EndPlace.y := Y;
> DrawFocusRect(Form1.Canvas.Handle,MakeRect(StartPlace,EndPlace));
> end;
>end;
>procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
>begin
> Capturing := false;
>end;
Вопрос:
Можно ли использовать иконку как картинку на кнопке TSpeedButton?
Ответ:
Можно.
См. пример.
Пример:
>uses ShellApi;
>procedure TForm1.FormShow(Sender: TObject);
>var Icon: TIcon;
>begin
> Icon := TIcon.Create;
> Icon.Handle := ExtractIcon(0,'C:\WINDOWS\NOTEPAD.EXE',1);
> SpeedButton1.Glyph.Width := Icon.Width;
> SpeedButton1.Glyph.Height := Icon.Height;
> SpeedButton1.Glyph.Canvas.Draw(0, 0, Icon);
> Icon.Free;
>end;
Вопрос:
Как поместить прозрачную фоновую каринку на компонент CoolBar?
Ответ:
>procedure TForm1.Button1Click(Sender: TObject);
>var
> Bm1 : TBitmap;
> Bm2 : TBitmap;
>begin
> Bm1 := TBitmap.Create;
> Bm2 := TBitmap.Create;
> Bm1.LoadFromFile('c:\download\test.bmp');
> Bm2.Width := Bm1.Width;
> Bm2.Height := Bm1.Height;
> bm2.Canvas.Brush.Color := CoolBar1.Color;
> bm2.Canvas.BrushCopy(Rect(0, 0, bm2.Width, bm2.Height), Bm1, Rect(0, 0, Bm1.width, Bm1.Height), ClWhite);
> bm1.Free;
> CoolBar1.Bitmap.Assign(bm2);
> bm2.Free;
>end;
Вопрос:
Ползунок компонента TScrollBar все время мигает. Как это отключить?
Ответ:
Установите свойтсво ScrollBar.TabStop в False.
Вопрос:
Как программно перевести DBgrid в реим редактирования и установить курсор в окошке редактирования в требуемую позицию?
Ответ:
Переведите таблицу в режим редактирования, затем получите дескриптор (handle) окна редактирования и перешлите ей сообщение EM_SETSEL. В качестве параметров вы должны переслать начальную позицию курсора, и конечную позицию, определяющую конец выделения текста цветом. В приведенном примере курсор помещается во вторую позицию, текст внутри ячейки не выделяется.
Пример:
>procedure TForm1.Button1Click(Sender: TObject);
>var h : THandle;
>begin
> Application.ProcessMessages;
> DbGrid1.SetFocus;
> DbGrid1.EditorMode := true;
> Application.ProcessMessages;
> h:= Windows.GetFocus;
> SendMessage(h, EM_SETSEL, 2, 2);
>end;
Вопрос:
Как поместить курсор в определенную позицию edit'а и подобных ему элементов управления?
Ответ:
Можно использовать методы Delphi SelStart() и SelectLength().
Пример:
>procedure TForm1.Button1Click(Sender: TObject);
>begin
> Edit1.SetFocus;
> {переводим курсор во вторую позицию}
> Edit1.SelStart := 2;
> {не выделяем никакого текста}
> Edit1.SelLength := 0;
>end;
Вопрос:
Как среагировать на минимизацию-максимизацию формы перед тем как произойдет изменение размера формы?
Ответ:
В примере перехватывается сообщение WM_SYSCOMMAND. Если это сообщение говорит о минимизации или максимизации формы — пищит динамик.
Пример:
>type TForm1 = class(TForm)
>private
> {Private declarations}
> procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
>public
> {Public declarations}
>end;
>var Form1: TForm1;
>implementation
>{$R *.DFM}
>procedure TForm1.WMSysCommand;
>begin
> if (Msg.CmdType = SC_MINIMIZE) or (Msg.CmdType = SC_MAXIMIZE) then MessageBeep(0)
> else inherited;
>end;
Вопрос:
Можно ли сделать так — одна форма показывает другую и остается позади нее, но фокус ввода не переходит к новой форме, а остается у старой?
Ответ:
В примере показывается не автосоздаваемая (non auto-created) форма, но фокус ввода ей не передается.
Пример:
>uses Unit2;
>procedure TForm1.Button1Click(Sender: TObject);
>begin
> Form2 := TForm2.Create(Application);
> Form2.Visible := FALSE;
> ShowWindow(Form2.Handle, SW_SHOWNA);
>end;
Вопрос:
На некоторых laptop компьютерах может не быть флоппи дисковода. Можно ли удалять из списка TDriveComboBox диски которые отключены?
Ответ:
В примере TDriveComboBox не показывает дисководы, которые не готовы. (not ready). Учтите что на многих компьютерах будет ощутимая задержка при поверке plug&play флоппи дисковода.
Пример:
>procedure TForm1.FormCreate(Sender: TObject);
>var
> i : integer;
> OldErrorMode : Word;
> OldDirectory : string;
>begin
> OldErrorMode := SetErrorMode(SEM_NOOPENFILEERRORBOX);
> GetDir(0, OldDirectory);
> i := 0;
> while i <= DriveComboBox1.Items.Count - 1 do begin
> {$I-}
> ChDir(DriveComboBox1.Items[i][1] + ':\');
> {$I+}
> if IoResult <> 0 then DriveComboBox1.Items.Delete(i)
> else inc(i);
> end;
> ChDir(OldDirectory);
> SetErrorMode(OldErrorMode);
>end;
Вопрос:
Как сообщить всем формам моего приложения (в том числе и не видимым в данный момент) об изменении каких-то глобальных значений?
Ответ:
Один из способов — создать пользовательское сообщение и использовать метод preform чтобы разослать его всем формам из массива Screen.Forms.
Пример:
>{Code for Unit1}
>const UM_MyGlobalMessage = WM_USER + 1;
>type TForm1 = class(TForm)
> Label1: TLabel;
> Button1: TButton;
> procedure FormShow(Sender: TObject);
> procedure Button1Click(Sender: TObject);
>private
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге собраны предания и поверья о призраках ночи — колдунах и ведьмах, оборотнях и вампирах, один вид которых вызывал неподдельный страх, леденивший даже мужественное сердце.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
…«Песнь о Нибелунгах» принадлежит к числу наиболее известных эпических произведений человечества. Она находится в кругу таких творений, как поэмы Гомера и «Песнь о Роланде», «Слово о полку Игореве» и «Божественная комедия» Данте — если оставаться в пределе европейских литератур…В. Г. Адмони.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.