<?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; Click</title>
	<atom:link href="http://www.mydelphi.info/code/tag/click/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>Как зарегистрировать расширение файла за своим приложением и контекстное меню</title>
		<link>http://www.mydelphi.info/code/189</link>
		<comments>http://www.mydelphi.info/code/189#comments</comments>
		<pubDate>Mon, 09 Jun 2008 16:39:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[Click]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[DefaultIcon]]></category>
		<category><![CDATA[description]]></category>
		<category><![CDATA[LotsOfParamaters]]></category>
		<category><![CDATA[MyApp]]></category>
		<category><![CDATA[myext]]></category>
		<category><![CDATA[Sender]]></category>
		<category><![CDATA[TForm]]></category>
		<category><![CDATA[TObject]]></category>
		<category><![CDATA[TonsOfParameters]]></category>
		<category><![CDATA[TRegIniFile]]></category>
		<category><![CDATA[WriteString]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=189</guid>
		<description><![CDATA[Вопрос:
Как зарегистрировать расширение файла за своим приложением и контекстное меню,
связанное с этим типом?
Ответ:
Пример регистрирует расширение файла(.myext) - файлы этого типа будут открываться
приложением MyApp.Exe. Также регнстрируется одно действие (action) по умолчанию
для файлов этого типа и два дополнительных пункта контекстного меню, связанного с
этим типом файлов. Возможно, потребуется перезайти в систему чтобы изменения

вступили в силу.

Пример:

uses
	Registry;

procedure TForm1.Button1Click(Sender: TObject);
var
	R : [...]]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/189/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как сообщить всем формам моего приложения об изминении каких-то глобальных значений?</title>
		<link>http://www.mydelphi.info/code/180</link>
		<comments>http://www.mydelphi.info/code/180#comments</comments>
		<pubDate>Mon, 09 Jun 2008 16:32:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[AMessage]]></category>
		<category><![CDATA[Click]]></category>
		<category><![CDATA[DFM]]></category>
		<category><![CDATA[FormCount]]></category>
		<category><![CDATA[FormShow]]></category>
		<category><![CDATA[implementation]]></category>
		<category><![CDATA[message]]></category>
		<category><![CDATA[Perform]]></category>
		<category><![CDATA[preform]]></category>
		<category><![CDATA[Sender]]></category>
		<category><![CDATA[TButton]]></category>
		<category><![CDATA[TLabel]]></category>
		<category><![CDATA[UMMyGlobalMessage]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=180</guid>
		<description><![CDATA[Вопрос:
Как сообщить всем формам моего приложения (в том числе и не видимым в данный момент)
об изминении каких-то глобальных значений?
Ответ:
Один из способов - создать пользовательское сообщение и использовать метод 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
		{Private declarations}
		procedure UMMyGlobalMessage(var [...]]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/180/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как поместить курсор в определенную позицию edit&#8217;а и подобных ему элементов управления?</title>
		<link>http://www.mydelphi.info/code/176</link>
		<comments>http://www.mydelphi.info/code/176#comments</comments>
		<pubDate>Mon, 09 Jun 2008 16:28:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[Click]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[procedure]]></category>
		<category><![CDATA[SelectLength]]></category>
		<category><![CDATA[SelLength]]></category>
		<category><![CDATA[SelStart]]></category>
		<category><![CDATA[SetFocus]]></category>
		<category><![CDATA[TForm]]></category>
		<category><![CDATA[TObject]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=176</guid>
		<description><![CDATA[Вопрос:
Как поместить курсор в определенную позицию edit'а и подобных ему элементов управления?
Ответ:
Можно использовать методы Delphi SelStart() и SelectLength().

Пример:

procedure TForm1.Button1Click(Sender: TObject);
begin
	Edit1.SetFocus;
	{переводим курсор во вторую позицию}
	Edit1.SelStart := 2;
	{не выделяем никакого текста}
	Edit1.SelLength := 0;
end;

]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/176/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Вместо печати графики я хочу использовать резидентный шрифт принтера. Как?</title>
		<link>http://www.mydelphi.info/code/150</link>
		<comments>http://www.mydelphi.info/code/150#comments</comments>
		<pubDate>Mon, 09 Jun 2008 15:57:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[Click]]></category>
		<category><![CDATA[EndDoc]]></category>
		<category><![CDATA[GetStockObject]]></category>
		<category><![CDATA[Printers]]></category>
		<category><![CDATA[Sender]]></category>
		<category><![CDATA[TextOut]]></category>
		<category><![CDATA[TForm]]></category>
		<category><![CDATA[TTextMetric]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=150</guid>
		<description><![CDATA[Вопрос:
Вместо печати графики я хочу использовать резидентный шрифт принтера. Как?

Ответ:
Используте функцию Windows
API &#8211; GetStockObject() чтобы получить дескриптор (handle) шрифта по умолчанию
устройства (DEVICE_DEFAULT_FONT) и передайте его Printer.Font.Handle.
Пример:
uses Printers;

procedure TForm1.Button1Click(Sender: TObject);
var
	tm : TTextMetric;
	i : integer;
begin
	if PrintDialog1.Execute then
	begin
		Printer.BeginDoc;
		Printer.Canvas.Font.Handle := GetStockObject(DEVICE_DEFAULT_FONT);
		GetTextMetrics(Printer.Canvas.Handle, tm);
		for i := 1 to 10 do
		begin
			Printer.Canvas.TextOut(100,i * tm.tmHeight +
				tm.tmExternalLeading,'Test');
		end;
		Printer.EndDoc;
	end;
end;

]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/150/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как поместить bitmap в Metafile?</title>
		<link>http://www.mydelphi.info/code/103</link>
		<comments>http://www.mydelphi.info/code/103#comments</comments>
		<pubDate>Sun, 08 Jun 2008 17:07:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[Click]]></category>
		<category><![CDATA[LOADFROMFILE]]></category>
		<category><![CDATA[procedure]]></category>
		<category><![CDATA[SaveToFile]]></category>
		<category><![CDATA[SomeBitmap]]></category>
		<category><![CDATA[TBitmap]]></category>
		<category><![CDATA[Test]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=103</guid>
		<description><![CDATA[Вопрос:
Как поместить bitmap в Metafile?
Ответ: см. пример

Пример:

procedure TForm1.Button1Click(Sender: TObject);
var
	m : TmetaFile;
	mc : TmetaFileCanvas;
	b : tbitmap;
begin
	m := TMetaFile.Create;
	b := TBitmap.create;
	b.LoadFromFile('C:\SomePath\SomeBitmap.BMP');
	m.Height := b.Height;
	m.Width := b.Width;
	mc := TMetafileCanvas.Create(m, 0);
	mc.Draw(0, 0, b);
	mc.Free;
	b.Free;
	m.SaveToFile('C:\SomePath\Test.emf');
	m.Free;
	Image1.Picture.LoadFromFile('C:\SomePath\Test.emf');
end;

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