<?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; Windows</title>
	<atom:link href="http://www.mydelphi.info/code/tag/windows/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>Функция keybd_event() принимает значения до 244</title>
		<link>http://www.mydelphi.info/code/187</link>
		<comments>http://www.mydelphi.info/code/187#comments</comments>
		<pubDate>Mon, 09 Jun 2008 16:38:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[Button]]></category>
		<category><![CDATA[FillChar]]></category>
		<category><![CDATA[focus]]></category>
		<category><![CDATA[KEYUP]]></category>
		<category><![CDATA[ProcessMessages]]></category>
		<category><![CDATA[RIGHT]]></category>
		<category><![CDATA[ScanCode]]></category>
		<category><![CDATA[SendMessage]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=187</guid>
		<description><![CDATA[Вопрос:
Функция keybd_event() принимает значения до 244 - как мне отправить нажатие
клавиши с кодом #255 в элемент управления Windows?
Ответ:
Это может понадобится для иностранных языков или для специальных символов. (например,
в русских шрифтах символ с кодом #255 - я прописное). Приведенный в примере метод,
не стоит использовать в случае если символ может быть передан обычным способом
(функцией keybd_event()).

procedure TForm1.Button1Click(Sender: TObject);
var
	KeyData [...]]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/187/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как программно перевести DBgrid</title>
		<link>http://www.mydelphi.info/code/175</link>
		<comments>http://www.mydelphi.info/code/175#comments</comments>
		<pubDate>Mon, 09 Jun 2008 16:27:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[Button]]></category>
		<category><![CDATA[end]]></category>
		<category><![CDATA[GetFocus]]></category>
		<category><![CDATA[ProcessMessages]]></category>
		<category><![CDATA[SendMessage]]></category>
		<category><![CDATA[TForm]]></category>
		<category><![CDATA[TObject]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=175</guid>
		<description><![CDATA[Вопрос:
Как программно перевести DBgrid в режим редактирования и установить курсор в
окошке редактирования в требуемую позицию?

Ответ:
Переведите таблицу в режим
редактирования, затем получите дескриптор (handle) окна редактирования и перешлите
ей сообщение EM_SETSEL. В качестве параметров вы должны переслать начальную
позицию курсора, и конечную позицию, определяющую конец выделения текста цветом.
В приведенном примере курсор помещается во вторую позицию, текст внутри ячейки
не выделяется.
Пример:
procedure [...]]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/175/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TTimer работает не достаточно точно. Как получить более высокую точность?</title>
		<link>http://www.mydelphi.info/code/168</link>
		<comments>http://www.mydelphi.info/code/168#comments</comments>
		<pubDate>Mon, 09 Jun 2008 16:21:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[TTimer]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=168</guid>
		<description><![CDATA[Вопрос:
TTimer работает не достаточно точно. Как получить более высокую точность?

Ответ:
Таймер Windows не был
создан с целью получения сверхточного хронометра. :-( Другими словами, когда
Вы устанавливаете таймер на срабатывания каждые 1000 миллисекунд, он может срабатывать
через интервал несколько больший чем 1000 миллисекунд. Значения меньше 55 миллисекунд
никогда не будут срабатывать вовремя в Windows, поскольку это минимальная точность
таймера. Можно проверять системное [...]]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/168/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Мне нужно программно установить некоторые файлы с установочного диска Windows</title>
		<link>http://www.mydelphi.info/code/151</link>
		<comments>http://www.mydelphi.info/code/151#comments</comments>
		<pubDate>Mon, 09 Jun 2008 15:58:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[Button]]></category>
		<category><![CDATA[CurrentVersion]]></category>
		<category><![CDATA[LOCAL]]></category>
		<category><![CDATA[MACHINE]]></category>
		<category><![CDATA[ShowMessage]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SourcePath]]></category>
		<category><![CDATA[TObject]]></category>
		<category><![CDATA[TRegistry]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/code/151</guid>
		<description><![CDATA[Вопрос:
Мне нужно программно установить некоторые файлы с установочного диска Windows. На многих компьютерах CAB-файлы установки Windows находятся в каком-то каталоге на жестком диске, на других &#8211; Windows был установлен с CD. Как узнать откуда была установленна Windows?
Ответ:
Эту информацию можно получить из реестра.
Пример:
uses Registry;

procedure TForm1.Button1Click(Sender: TObject);
var
	reg: TRegistry;
begin
	reg := TRegistry.Create;
	reg.RootKey := HKEY_LOCAL_MACHINE;
	reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\SETUP',false);
	ShowMessage(reg.ReadString('SourcePath'));
	reg.CloseKey;
	reg.free;
end;
]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/151/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>События KeyPress и KeyDown не вызываются для клавиши Tab</title>
		<link>http://www.mydelphi.info/code/124</link>
		<comments>http://www.mydelphi.info/code/124#comments</comments>
		<pubDate>Sun, 08 Jun 2008 17:25:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[Caption]]></category>
		<category><![CDATA[DFM]]></category>
		<category><![CDATA[DIALOGKEY]]></category>
		<category><![CDATA[implementation]]></category>
		<category><![CDATA[KeyDown]]></category>
		<category><![CDATA[KeyPress]]></category>
		<category><![CDATA[TCMDialogKey]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=124</guid>
		<description><![CDATA[Вопрос:
События KeyPress и KeyDown не вызываются для клавиши Tab &#8211; как определить, что она была нажата?
Ответ:
На уровне формы клавиша
tab обычно обрабатывается Windows. В примере создается обработчик события CM_Dialog
для перехвата Dialog keys.
Пример:
type
	TForm1 = class(TForm)
	private
		procedure CMDialogKey( Var msg: TCMDialogKey );
		message CM_DIALOGKEY;
end;

var
	Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.CMDialogKey(var msg: TCMDialogKey);
begin
	if msg.Charcode &#60;&#62; VK_TAB then
		inherited;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
	if [...]]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/124/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
