<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5842661827972738559</id><updated>2024-11-01T02:01:11.497-07:00</updated><category term="Delphi Form"/><category term="Forms Tips"/><category term="Free Software"/><category term="Shell Api"/><title type='text'>Delphi Tips &amp; Trick</title><subtitle type='html'>Delphi Tips &amp; Trick</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://oka-delphitips.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5842661827972738559/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://oka-delphitips.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Oka</name><uri>http://www.blogger.com/profile/04878186223719908530</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5842661827972738559.post-2985759282371262565</id><published>2008-03-24T02:26:00.000-07:00</published><updated>2008-03-24T02:28:55.213-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Free Software"/><title type='text'>Yahoo Messenger Robot</title><content type='html'>Free Yahoo Robot Messenger is auto response Yahoo Mess program. Message Response taking from database. This program is free using Bricksoft IM(MSN,YAHOO,AIM) VCL Component(Unregistered Version).&lt;br /&gt;&lt;br /&gt;for download program please klik&lt;br /&gt;http://www.2shared.com/file/3035373/be70d67c/ymrobot.html&lt;br /&gt;http://www.2shared.com/fadmin/3035373/8c972f85/ymrobot.zip</content><link rel='replies' type='application/atom+xml' href='http://oka-delphitips.blogspot.com/feeds/2985759282371262565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5842661827972738559/2985759282371262565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5842661827972738559/posts/default/2985759282371262565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5842661827972738559/posts/default/2985759282371262565'/><link rel='alternate' type='text/html' href='http://oka-delphitips.blogspot.com/2008/03/yahoo-messenger-robot.html' title='Yahoo Messenger Robot'/><author><name>Oka</name><uri>http://www.blogger.com/profile/04878186223719908530</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5842661827972738559.post-4613854573672137309</id><published>2008-03-07T18:58:00.000-08:00</published><updated>2008-03-07T19:00:44.993-08:00</updated><title type='text'>Shape a form to a bitmap</title><content type='html'>&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span class=&quot;sourcecode&quot;&gt;&lt;span style=&quot;font-family:Courier New;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;b&gt;{ Fill bitmap to Form&lt;br /&gt;}&lt;br /&gt;unit &lt;/b&gt;Unit1;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;interface&lt;br /&gt;&lt;br /&gt;uses&lt;br /&gt;  &lt;/b&gt;Windows, Classes, SysUtils, Graphics, Forms;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;type&lt;br /&gt;  &lt;/b&gt;TRGBArray = &lt;b&gt;array&lt;/b&gt;[0..32767] &lt;b&gt;of &lt;/b&gt;TRGBTriple;&lt;br /&gt;  PRGBArray = ^TRGBArray;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;type&lt;br /&gt;  &lt;/b&gt;TForm1 = &lt;b&gt;class&lt;/b&gt;(TForm)&lt;br /&gt;    &lt;b&gt;procedure &lt;/b&gt;FormCreate(Sender: TObject);&lt;br /&gt;    &lt;b&gt;procedure &lt;/b&gt;FormDestroy(Sender: TObject);&lt;br /&gt;  &lt;b&gt;private&lt;br /&gt;    &lt;/b&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;i&gt;{ Private declarations }&lt;br /&gt;    &lt;/i&gt;&lt;/span&gt;FRegion: THandle;&lt;br /&gt;    &lt;b&gt;function &lt;/b&gt;CreateRegion(Bmp: TBitmap): THandle;&lt;br /&gt;  &lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;var&lt;br /&gt;  &lt;/b&gt;Form1: TForm1;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;implementation&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;i&gt;{$R *.dfm}&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;b&gt;function &lt;/b&gt;TForm1.CreateRegion(Bmp: TBitmap): THandle;&lt;br /&gt;&lt;b&gt;var&lt;br /&gt;  &lt;/b&gt;X, Y, StartX: Integer;&lt;br /&gt;  Excl: THandle;&lt;br /&gt;  Row: PRGBArray;&lt;br /&gt;  TransparentColor: TRGBTriple;&lt;br /&gt;&lt;b&gt;begin&lt;br /&gt;  &lt;/b&gt;Bmp.PixelFormat := pf24Bit;&lt;br /&gt;&lt;br /&gt;  Result := CreateRectRGN(0, 0, Bmp.Width, Bmp.Height);&lt;br /&gt;&lt;br /&gt;  &lt;b&gt;for &lt;/b&gt;Y := 0 &lt;b&gt;to &lt;/b&gt;Bmp.Height - 1 &lt;b&gt;do&lt;br /&gt;  begin&lt;br /&gt;    &lt;/b&gt;Row := Bmp.Scanline[Y];&lt;br /&gt;&lt;br /&gt;    StartX := -1;&lt;br /&gt;&lt;br /&gt;    &lt;b&gt;if &lt;/b&gt;Y = 0 &lt;b&gt;then&lt;br /&gt;      &lt;/b&gt;TransparentColor := Row[0];&lt;br /&gt;&lt;br /&gt;    &lt;b&gt;for &lt;/b&gt;X := 0 &lt;b&gt;to &lt;/b&gt;Bmp.Width - 1 &lt;b&gt;do&lt;br /&gt;    begin&lt;br /&gt;      if &lt;/b&gt;(Row[X].rgbtRed = TransparentColor.rgbtRed) &lt;b&gt;and&lt;br /&gt;        &lt;/b&gt;(Row[X].rgbtGreen = TransparentColor.rgbtGreen) &lt;b&gt;and&lt;br /&gt;        &lt;/b&gt;(Row[X].rgbtBlue = TransparentColor.rgbtBlue) &lt;b&gt;then&lt;br /&gt;      begin&lt;br /&gt;        if &lt;/b&gt;StartX = -1 &lt;b&gt;then &lt;/b&gt;StartX := X;&lt;br /&gt;      &lt;b&gt;end&lt;br /&gt;      else&lt;br /&gt;      begin&lt;br /&gt;        if &lt;/b&gt;StartX &gt; -1 &lt;b&gt;then&lt;br /&gt;        begin&lt;br /&gt;          &lt;/b&gt;Excl := CreateRectRGN(StartX, Y, X + 1, Y + 1);&lt;br /&gt;          &lt;b&gt;try&lt;br /&gt;            &lt;/b&gt;CombineRGN(Result, Result, Excl, RGN_DIFF);&lt;br /&gt;            StartX := -1;&lt;br /&gt;          &lt;b&gt;finally&lt;br /&gt;            &lt;/b&gt;DeleteObject(Excl);&lt;br /&gt;          &lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;        &lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;      &lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;    &lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;&lt;br /&gt;    &lt;b&gt;if &lt;/b&gt;StartX &gt; -1 &lt;b&gt;then&lt;br /&gt;    begin&lt;br /&gt;      &lt;/b&gt;Excl := CreateRectRGN(StartX, Y, Bmp.Width, Y + 1);&lt;br /&gt;      &lt;b&gt;try&lt;br /&gt;        &lt;/b&gt;CombineRGN(Result, Result, Excl, RGN_DIFF);&lt;br /&gt;      &lt;b&gt;finally&lt;br /&gt;        &lt;/b&gt;DeleteObject(Excl);&lt;br /&gt;      &lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;    &lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;  &lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;&lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;procedure &lt;/b&gt;TForm1.FormCreate(Sender: TObject);&lt;br /&gt;&lt;b&gt;var&lt;br /&gt;  &lt;/b&gt;Bmp: TBitmap;&lt;br /&gt;&lt;b&gt;begin&lt;br /&gt;  &lt;/b&gt;Bmp := TBitmap.Create;&lt;br /&gt;  &lt;b&gt;try&lt;br /&gt;    &lt;/b&gt;Bmp.LoadFromFile(&#39;C:\YourBitmap.bmp&#39;);&lt;br /&gt;    FRegion := CreateRegion(Bmp);&lt;br /&gt;    SetWindowRGN(Handle, FRegion, True);&lt;br /&gt;  &lt;b&gt;finally&lt;br /&gt;    &lt;/b&gt;Bmp.Free;&lt;br /&gt;  &lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;&lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;procedure &lt;/b&gt;TForm1.FormDestroy(Sender: TObject);&lt;br /&gt;&lt;b&gt;begin&lt;br /&gt;  &lt;/b&gt;DeleteObject(FRegion);&lt;br /&gt;&lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;end&lt;/b&gt;.&lt;br /&gt;swissdelphicenter.ch&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://oka-delphitips.blogspot.com/feeds/4613854573672137309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5842661827972738559/4613854573672137309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5842661827972738559/posts/default/4613854573672137309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5842661827972738559/posts/default/4613854573672137309'/><link rel='alternate' type='text/html' href='http://oka-delphitips.blogspot.com/2008/03/shape-form-to-bitmap.html' title='Shape a form to a bitmap'/><author><name>Oka</name><uri>http://www.blogger.com/profile/04878186223719908530</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5842661827972738559.post-6398952271173576748</id><published>2008-03-07T18:30:00.000-08:00</published><updated>2008-03-07T18:35:54.775-08:00</updated><title type='text'>Making the Enter Key act like Tab (Delphi Tips)</title><content type='html'>&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span class=&quot;sourcecode&quot;&gt;&lt;span style=&quot;font-family:Courier New;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 128);&quot;&gt;&lt;i&gt;{ Delphi Tips&lt;br /&gt; This code gives the  key the same habbit as the key to&lt;br /&gt; change focus between Controls.&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Form1.KeyPreview := True !&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;b&gt;procedure &lt;/b&gt;TForm1.FormKeyPress(Sender: TObject; &lt;b&gt;var &lt;/b&gt;Key: Char);&lt;br /&gt;&lt;b&gt;begin&lt;br /&gt; if &lt;/b&gt;Key = #13 &lt;b&gt;then&lt;br /&gt; begin&lt;br /&gt;   &lt;/b&gt;Key := #0;&lt;br /&gt;   &lt;span style=&quot;color: rgb(0, 0, 128);&quot;&gt;&lt;i&gt;{ check if SHIFT - Key is pressed }&lt;br /&gt;   &lt;/i&gt;&lt;/span&gt;&lt;b&gt;if &lt;/b&gt;GetKeyState(VK_Shift) &lt;b&gt;and &lt;/b&gt;$8000 &lt;&gt; 0 &lt;b&gt;then&lt;br /&gt;     &lt;/b&gt;PostMessage(Handle, WM_NEXTDLGCTL, 1, 0)&lt;br /&gt;   &lt;b&gt;else&lt;br /&gt;     &lt;/b&gt;PostMessage(Handle, WM_NEXTDLGCTL, 0, 0);&lt;br /&gt; &lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;&lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;&lt;br /&gt;swissdelphicenter.ch&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://oka-delphitips.blogspot.com/feeds/6398952271173576748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5842661827972738559/6398952271173576748' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5842661827972738559/posts/default/6398952271173576748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5842661827972738559/posts/default/6398952271173576748'/><link rel='alternate' type='text/html' href='http://oka-delphitips.blogspot.com/2008/03/making-enter-key-act-like-tab.html' title='Making the Enter Key act like Tab (Delphi Tips)'/><author><name>Oka</name><uri>http://www.blogger.com/profile/04878186223719908530</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5842661827972738559.post-4447207352546603742</id><published>2008-03-07T18:24:00.001-08:00</published><updated>2008-03-07T18:26:25.405-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Forms Tips"/><title type='text'>know if the form is modal</title><content type='html'>&lt;span class=&quot;sourcecode&quot;  style=&quot;font-size:100%;&quot;&gt; &lt;span style=&quot;color: rgb(0, 0, 0);font-family:Courier New;&quot; &gt;&lt;b&gt;procedure &lt;/b&gt;TForm1.Button1Click(Sender: TObject);&lt;br /&gt;&lt;b&gt;begin&lt;br /&gt;if &lt;/b&gt;(fsModal &lt;b&gt;in &lt;/b&gt;FormState) &lt;b&gt;then&lt;br /&gt;  &lt;/b&gt;ShowMessage(&#39;Form is modal.&#39;);&lt;br /&gt;&lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;&lt;br /&gt;swissdelphicenter.ch&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://oka-delphitips.blogspot.com/feeds/4447207352546603742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5842661827972738559/4447207352546603742' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5842661827972738559/posts/default/4447207352546603742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5842661827972738559/posts/default/4447207352546603742'/><link rel='alternate' type='text/html' href='http://oka-delphitips.blogspot.com/2008/03/know-if-form-is-modal.html' title='know if the form is modal'/><author><name>Oka</name><uri>http://www.blogger.com/profile/04878186223719908530</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5842661827972738559.post-6964427487799938280</id><published>2008-03-07T18:20:00.000-08:00</published><updated>2008-03-07T18:23:21.218-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Shell Api"/><title type='text'>Execute the Windows Explorer Find File Dialog Box</title><content type='html'>The following example demonstrates using DDE to execute Explorer&#39;s find file dialog. The example opens the dialog in the Directory &quot;C:\DelphiTips&quot;.  ~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;uses ddeman;&lt;br /&gt;procedure TForm1.Button1Click(Sender: TObject) ;&lt;br /&gt;begin&lt;br /&gt;  with TDDEClientConv.Create(Self) do begin&lt;br /&gt;   ConnectMode := ddeManual;&lt;br /&gt;   ServiceApplication := &#39;explorer.exe&#39;;&lt;br /&gt;   SetLink( &#39;Folders&#39;, &#39;AppProperties&#39;) ;&lt;br /&gt;   OpenLink;&lt;br /&gt;   ExecuteMacro&lt;br /&gt;       (&#39;[FindFolder(, C:\DelphiTips)]&#39;, False) ;&lt;br /&gt;   CloseLink;&lt;br /&gt;   Free;&lt;br /&gt;  end;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;About.com</content><link rel='replies' type='application/atom+xml' href='http://oka-delphitips.blogspot.com/feeds/6964427487799938280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5842661827972738559/6964427487799938280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5842661827972738559/posts/default/6964427487799938280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5842661827972738559/posts/default/6964427487799938280'/><link rel='alternate' type='text/html' href='http://oka-delphitips.blogspot.com/2008/03/execute-windows-explorer-find-file.html' title='Execute the Windows Explorer Find File Dialog Box'/><author><name>Oka</name><uri>http://www.blogger.com/profile/04878186223719908530</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5842661827972738559.post-8017600251082031929</id><published>2008-03-07T17:24:00.000-08:00</published><updated>2008-03-07T17:27:53.711-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Delphi Form"/><title type='text'>Making a transparent form</title><content type='html'>Add a Button (Button1) to a Delphi form (Form1)&lt;br /&gt;procedure TForm1.FormCreate(Sender: TObject) ;&lt;br /&gt;var&lt;br /&gt;   FullRgn, ClientRgn, ButtonRgn: THandle;&lt;br /&gt;   Margin, X, Y: Integer;&lt;br /&gt;begin&lt;br /&gt;   Margin := (Width - ClientWidth) div 2;&lt;br /&gt;   FullRgn := CreateRectRgn(0, 0, Width, Height) ;&lt;br /&gt;   X := Margin;&lt;br /&gt;   Y := Height - ClientHeight - Margin;&lt;br /&gt;   ClientRgn := CreateRectRgn&lt;br /&gt;     (X, Y, X + ClientWidth, Y + ClientHeight) ;&lt;br /&gt;   CombineRgn(FullRgn, FullRgn, ClientRgn, RGN_DIFF) ;&lt;br /&gt;   X := X + Button1.Left;&lt;br /&gt;   Y := Y + Button1.Top;&lt;br /&gt;   ButtonRgn := CreateRectRgn&lt;br /&gt;     (X, Y, X + Button1.Width, Y + Button1.Height) ;&lt;br /&gt;   CombineRgn(FullRgn, FullRgn, ButtonRgn, RGN_OR) ;&lt;br /&gt;   SetWindowRgn(Handle, FullRgn, True) ;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;from: about.com</content><link rel='replies' type='application/atom+xml' href='http://oka-delphitips.blogspot.com/feeds/8017600251082031929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/5842661827972738559/8017600251082031929' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5842661827972738559/posts/default/8017600251082031929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5842661827972738559/posts/default/8017600251082031929'/><link rel='alternate' type='text/html' href='http://oka-delphitips.blogspot.com/2008/03/making-transparent-form.html' title='Making a transparent form'/><author><name>Oka</name><uri>http://www.blogger.com/profile/04878186223719908530</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>