<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Мой DELPHI - Программирование &#187; var</title>
	<atom:link href="http://www.mydelphi.info/code/tag/var/feed" rel="self" type="application/rss+xml" />
	<link>http://www.mydelphi.info</link>
	<description>Всё для программера</description>
	<lastBuildDate>Mon, 09 Jun 2008 16:55:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Как обновить список дисков компонента TDriveComboBox</title>
		<link>http://www.mydelphi.info/code/181</link>
		<comments>http://www.mydelphi.info/code/181#comments</comments>
		<pubDate>Mon, 09 Jun 2008 16:33:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[BuildList]]></category>
		<category><![CDATA[char]]></category>
		<category><![CDATA[Drive]]></category>
		<category><![CDATA[procedure]]></category>
		<category><![CDATA[Sender]]></category>
		<category><![CDATA[TDriveComboBox]]></category>
		<category><![CDATA[TForm]]></category>
		<category><![CDATA[TNewDriveComboBox]]></category>
		<category><![CDATA[var]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=181</guid>
		<description><![CDATA[Вопрос:
Как обновить список дисков компонента TDriveComboBox, учитывая, что могуд быть
подключены/отключены сетевые диски и произведена "горячая замена" plug&#38;play дисков?
Ответ:
Следующий пример вызывает защищенный (protected) метод класса TDriveComboBox
BuildList() для регеирации списка дисков. (использовая так наз. "class cracer")

Пример:

type
	TNewDriveComboBox = class(TDriveComboBox)  //это наш "class cracer"
end;

procedure TForm1.Button1Click(Sender: TObject);
var
	Drive : char;
begin
	Drive := DriveComboBox1.Drive;
	TNewDriveComboBox(DriveComboBox1).BuildList;
			//вызываем защищенный метод родительского класса
	DriveComboBox1.Drive := Drive;
end;

]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/181/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как среагировать на минимизацию-максимизацию формы</title>
		<link>http://www.mydelphi.info/code/177</link>
		<comments>http://www.mydelphi.info/code/177#comments</comments>
		<pubDate>Mon, 09 Jun 2008 16:29:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[CmdType]]></category>
		<category><![CDATA[implementation]]></category>
		<category><![CDATA[MINIMIZE]]></category>
		<category><![CDATA[SYSCOMMAND]]></category>
		<category><![CDATA[TForm]]></category>
		<category><![CDATA[TWMSysCommand]]></category>
		<category><![CDATA[var]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=177</guid>
		<description><![CDATA[Вопрос:
Как среагировать на минимизацию-максимизацию формы перед тем как произойдет изменение
размера формы?
Ответ:
В примере перехватывается сообщение 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;

]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/177/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Можно ли использовать иконку как картинку на кнопке TSpeedButton?</title>
		<link>http://www.mydelphi.info/code/172</link>
		<comments>http://www.mydelphi.info/code/172#comments</comments>
		<pubDate>Mon, 09 Jun 2008 16:24:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[ExtractIcon]]></category>
		<category><![CDATA[Glyph]]></category>
		<category><![CDATA[NOTEPAD]]></category>
		<category><![CDATA[ShellApi]]></category>
		<category><![CDATA[TObject]]></category>
		<category><![CDATA[TSpeedButton]]></category>
		<category><![CDATA[var]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=172</guid>
		<description><![CDATA[Вопрос:
Можно ли использовать иконку как картинку на кнопке 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;

]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/172/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Можно ли сделать так чтобы TStringGrid автоматически изменял ширину колонок</title>
		<link>http://www.mydelphi.info/code/167</link>
		<comments>http://www.mydelphi.info/code/167#comments</comments>
		<pubDate>Mon, 09 Jun 2008 16:20:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[AutoSizeGridColumn]]></category>
		<category><![CDATA[Button]]></category>
		<category><![CDATA[Column]]></category>
		<category><![CDATA[ColWidths]]></category>
		<category><![CDATA[StringGrid]]></category>
		<category><![CDATA[temp]]></category>
		<category><![CDATA[TStringGrid]]></category>
		<category><![CDATA[var]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=167</guid>
		<description><![CDATA[Вопрос:
Можно ли сделать так чтобы TStringGrid автоматически изменял ширину колонок, чтобы
вместить самую длинную строчку в колонке?
Ответ:
См. пример.

Пример:

procedure AutoSizeGridColumn(Grid : TStringGrid; column : integer);
var
	i : integer;
	temp : integer;
	max : integer;
begin
	max := 0;
	for i := 0 to (Grid.RowCount - 1) do
	begin
		temp := Grid.Canvas.TextWidth(grid.cells[column, i]);
		if temp &#62; max then max := temp;
	end;
	Grid.ColWidths[column] := Max + Grid.GridLineWidth + 3;
end;

procedure [...]]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/167/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как заставить TEdit не &#8216;пикать&#8217; при нажатии недопустимых клавиш?</title>
		<link>http://www.mydelphi.info/code/145</link>
		<comments>http://www.mydelphi.info/code/145#comments</comments>
		<pubDate>Mon, 09 Jun 2008 15:42:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[KeyPress]]></category>
		<category><![CDATA[procedure]]></category>
		<category><![CDATA[TEdit]]></category>
		<category><![CDATA[TObject]]></category>
		<category><![CDATA[UpCase]]></category>
		<category><![CDATA[var]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=145</guid>
		<description><![CDATA[Вопрос:
Как заставить TEdit не 'пикать' при нажатии недопустимых клавиш?
Ответ:
Перехватите событие KeyPress и установите key = #0 для недопустимых клавиш.

Пример:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
	if ((UpCase(Key) &#60; 'A') or (UpCase(Key) &#62; 'Z')) then
		Key := #0;
end;

]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/145/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
