<?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: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-3610508910218973823</id><updated>2011-08-03T13:39:58.029+06:00</updated><category term='Linked List'/><category term='ATL'/><category term='Data Structures'/><category term='MFC'/><category term='C/C++'/><category term='Generic'/><title type='text'>A Journey 2 Eternity</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>68</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-7503317653268076762</id><published>2009-06-08T18:11:00.002+06:00</published><updated>2009-06-08T18:16:20.816+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Painting a Gradient background</title><content type='html'>Here’s a sample which draws background of a dialog with gradient colors.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;BOOL CMyDlg::OnEraseBkgnd(CDC* pDC)&lt;br /&gt;{&lt;br /&gt; CRect rect;&lt;br /&gt; GetClientRect(&amp;rect);&lt;br /&gt;&lt;br /&gt; TRIVERTEX vert[4] = {&lt;br /&gt;  { rect.left, rect.top, 0xff00, 0xff00, 0xff00, 0 },&lt;br /&gt;  { rect.right, rect.top, 0, 0xff00, 0xff00, 0 },&lt;br /&gt;  { rect.right, rect.bottom, 0xff00, 0, 0xff00, 0 },&lt;br /&gt;  { rect.left, rect.bottom, 0xff00, 0xff00, 0, 0 }&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt; GRADIENT_TRIANGLE grad[2] = {&lt;br /&gt;  { 0, 1, 2 },&lt;br /&gt;  { 0, 2, 3 }&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt; ::GradientFill( pDC-&gt;m_hDC, vert, 4, grad, 2, GRADIENT_FILL_TRIANGLE );&lt;br /&gt;&lt;br /&gt; return TRUE;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void CMyDlg::OnSize(UINT nType, int cx, int cy)&lt;br /&gt;{&lt;br /&gt; // To ensure the background of the whole dialog is re-drawn&lt;br /&gt; Invalidate();&lt;br /&gt;&lt;br /&gt; CDialog::OnSize(nType, cx, cy);&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-7503317653268076762?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/7503317653268076762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=7503317653268076762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/7503317653268076762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/7503317653268076762'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2009/06/painting-gradient-back-ground.html' title='Painting a Gradient background'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-4745143378903210890</id><published>2009-05-28T16:47:00.004+06:00</published><updated>2009-05-28T16:52:42.239+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Replaces a color with a fill color in a given area of a Device Context</title><content type='html'>//! Replaces a color with a fill color in a given area of a &lt;br /&gt;//! Device Context&lt;br /&gt;//!&lt;br /&gt;//! \param hDC   : Specifies the Device Context&lt;br /&gt;//! \param rcReplaceArea : Specifies the portion of the DC area &lt;br /&gt;//!  to apply the replace operation &lt;br /&gt;//! \param clrColorReplace : Specifies the color to be replaced&lt;br /&gt;//! \param clrColorFill : Specifies the fill color&lt;br /&gt;&lt;br /&gt;void ReplaceColor(HDC hDC, CRect rcReplaceArea, COLORREF clrColorReplace, &lt;br /&gt; COLORREF clrColorFill)&lt;br /&gt;{&lt;br /&gt; CDC* pDC = CDC::FromHandle(hDC);&lt;br /&gt;&lt;br /&gt;CPoint pt = rcReplaceArea.TopLeft();&lt;br /&gt; &lt;br /&gt; CDC memDCMonoChrome;&lt;br /&gt; memDCMonoChrome.CreateCompatibleDC(pDC);&lt;br /&gt; CBitmap bmpMonoChrome;&lt;br /&gt; bmpMonoChrome.CreateCompatibleBitmap(&amp;memDCMonoChrome, &lt;br /&gt;  rcReplaceArea.Width(), rcReplaceArea.Height());&lt;br /&gt;CBitmap* pOldMonoBitmap = &lt;br /&gt; memDCMonoChrome.SelectObject(&amp;bmpMonoChrome);&lt;br /&gt; &lt;br /&gt; COLORREF nOldBkColor = pDC-&gt;SetBkColor(clrColorReplace);&lt;br /&gt; // BLT to mono dc so that mask color will have 1 set and the other colors 0&lt;br /&gt; memDCMonoChrome.BitBlt(0, 0, rcReplaceArea.Width(), &lt;br /&gt;  rcReplaceArea.Height(), pDC, pt.x, pt.y, SRCCOPY);&lt;br /&gt;&lt;br /&gt; CDC memDC;&lt;br /&gt; memDC.CreateCompatibleDC(pDC);&lt;br /&gt; CBitmap bmp;&lt;br /&gt; bmp.CreateCompatibleBitmap(pDC, rcReplaceArea.Width(), &lt;br /&gt;  rcReplaceArea.Height());&lt;br /&gt;  CBitmap* pOldBitmap = memDC.SelectObject(&amp;bmp);&lt;br /&gt; &lt;br /&gt; COLORREF nOldMemDCBkColor = memDC.SetBkColor(clrColorFill); &lt;br /&gt; COLORREF nOldMemDCTextColor = &lt;br /&gt;memDC.SetTextColor(RGB(255, 255, 255)); &lt;br /&gt; // BLT to mem DC so that the monochrome white is set to fill color and the &lt;br /&gt; // monochrome black is set to white&lt;br /&gt; memDC.BitBlt(0, 0, rcReplaceArea.Width(), rcReplaceArea.Height(), &lt;br /&gt;  &amp;memDCMonoChrome, 0, 0, SRCCOPY); &lt;br /&gt; &lt;br /&gt; // AND pDC with mem dc so that the replace color part is blackened out and &lt;br /&gt; // all other colors remains same&lt;br /&gt; pDC-&gt;BitBlt(pt.x, pt.y, rcReplaceArea.Width(), rcReplaceArea.Height(), &lt;br /&gt;  &amp;memDC, 0, 0, SRCAND);&lt;br /&gt;&lt;br /&gt; memDC.SetTextColor(RGB(0, 0, 0)); &lt;br /&gt; // BLT to mem DC so that the monochrome white is set to fill color and the &lt;br /&gt; // monochrome black is set to black&lt;br /&gt; memDC.BitBlt(0, 0, rcReplaceArea.Width(), rcReplaceArea.Height(), &lt;br /&gt;  &amp;memDCMonoChrome, 0, 0, SRCCOPY); &lt;br /&gt;&lt;br /&gt; // OR pDC with mem dc so that all colors remains as they where except the &lt;br /&gt; // blackened out (replace color) part receives the fill color &lt;br /&gt; pDC-&gt;BitBlt(pt.x, pt.y, rcReplaceArea.Width(), rcReplaceArea.Height(), &lt;br /&gt;  &amp;memDC, 0, 0, SRCPAINT);&lt;br /&gt; &lt;br /&gt; // Set the original values back&lt;br /&gt; memDC.SetTextColor(nOldMemDCTextColor);&lt;br /&gt; memDC.SetBkColor(nOldMemDCBkColor);  &lt;br /&gt; &lt;br /&gt; pDC-&gt;SetBkColor(nOldBkColor); &lt;br /&gt; &lt;br /&gt; // Set the original bitmaps back&lt;br /&gt; memDCMonoChrome.SelectObject(pOldMonoBitmap);&lt;br /&gt; memDC.SelectObject(pOldBitmap);&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-4745143378903210890?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/4745143378903210890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=4745143378903210890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4745143378903210890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4745143378903210890'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2009/05/replaces-color-with-fill-color-in-given.html' title='Replaces a color with a fill color in a given area of a Device Context'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-8911304473112151285</id><published>2009-05-19T14:52:00.001+06:00</published><updated>2009-05-19T14:54:10.731+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Generic'/><title type='text'>Sequence of messages sent on Double Click Event</title><content type='html'>1. LButtonDown&lt;br /&gt;2. LButtonUp&lt;br /&gt;3. LButtonDblClick&lt;br /&gt;4. LButtonUp&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-8911304473112151285?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/8911304473112151285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=8911304473112151285' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/8911304473112151285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/8911304473112151285'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2009/05/sequence-of-messages-sent-on-double.html' title='Sequence of messages sent on Double Click Event'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-120952205978643661</id><published>2009-05-13T16:28:00.001+06:00</published><updated>2009-05-13T16:41:34.431+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Wild-Card Comparison</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CAAKASH%7E1.ENO%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Verdana; 	panose-1:2 11 6 4 3 5 4 4 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:536871559 0 0 0 415 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Sometimes we have needed to compare a Wild-Card string in a given string. Here is a handy function for doing this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;int&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; WildCmp(&lt;span style="color: blue;"&gt;const&lt;/span&gt; TCHAR* wild, &lt;span style="color: blue;"&gt;const&lt;/span&gt; TCHAR* string)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;const&lt;/span&gt; TCHAR *cp = NULL, *mp = NULL;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;while&lt;/span&gt; ((*string) &amp;amp;&amp;amp; (*wild != &lt;span style="color: rgb(163, 21, 21);"&gt;'*'&lt;/span&gt;))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; ((*wild != *string) &amp;amp;&amp;amp; (*wild != &lt;span style="color: rgb(163, 21, 21);"&gt;'?'&lt;/span&gt;))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;wild++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;string++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;while&lt;/span&gt; (*string)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (*wild == &lt;span style="color: rgb(163, 21, 21);"&gt;'*'&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (!*++wild)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; 1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;mp = wild;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;cp = string+1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;else&lt;/span&gt; &lt;span style="color: blue;"&gt;if&lt;/span&gt; ((*wild == *string) || (*wild == &lt;span style="color: rgb(163, 21, 21);"&gt;'?'&lt;/span&gt;))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;wild++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;string++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;wild = mp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;string = cp++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;while&lt;/span&gt; (*wild == &lt;span style="color: rgb(163, 21, 21);"&gt;'*'&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;wild++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; !*wild;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-120952205978643661?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/120952205978643661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=120952205978643661' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/120952205978643661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/120952205978643661'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2009/05/wild-card-comparison.html' title='Wild-Card Comparison'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-613215021665866360</id><published>2009-04-22T12:09:00.000+06:00</published><updated>2009-04-22T12:13:52.428+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Draw vertically centered multi-line text in a given rectangle</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;DT_WORDBREAK and DT_VCENTER don’t work together. So here is an alternative:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; CEMCHotButton::DrawCaption (CDC* pDC, LPDRAWITEMSTRUCT &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;lpDrawItemStruct, &lt;o:p&gt;&lt;/O:P&gt;CRect&amp;amp; rectCaption, DWORD&lt;span style=""&gt;  &lt;/span&gt;dwFormat)&lt;o:p&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Get caption text&lt;o:p&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CString strCaption;&lt;o:p&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;GetWindowText (strCaption);&lt;o:p&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(!strCaption.IsEmpty())&lt;o:p&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;span style=""&gt;        &lt;/span&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;((GetStyle() &amp;amp; BS_MULTILINE) == BS_MULTILINE)&lt;o:p&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;dwFormat &amp;amp;= ~DT_SINGLELINE;&lt;o:p&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;dwFormat &amp;amp;= ~DT_VCENTER;&lt;o:p&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;dwFormat |= DT_WORDBREAK;&lt;o:p&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/O:P&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;RECT rct = rectCaption;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 1.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;int&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; height&lt;span style=""&gt;  &lt;/span&gt;= ::DrawText(pDC-&gt;m_hDC, (LPCTSTR) strCaption, strCaption.GetLength(), &amp;amp;rct, DT_CALCRECT | DT_WORDBREAK);&lt;o:p&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;rectCaption.top = rectCaption.CenterPoint().y - height / 2;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;                                   &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;                              ::DrawTextEx (pDC-&gt;m_hDC, strCaption.GetBuffer(0),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;strCaption.GetLength(), &amp;amp;rectCaption, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 1.5in; text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;dwFormat, NULL);&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;o:p&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-613215021665866360?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/613215021665866360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=613215021665866360' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/613215021665866360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/613215021665866360'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2009/04/draw-vertically-centered-multi-line.html' title='Draw vertically centered multi-line text in a given rectangle'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-4771447204219065422</id><published>2009-04-15T13:10:00.000+06:00</published><updated>2009-04-15T13:11:54.008+06:00</updated><title type='text'>How to create a topmost window using SetWindowPos?</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;A topmost window is one which stays on top of other windows even while it’s not in focus. Normally all application popup windows will go to background once they lose focus but a topmost window doesn’t.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; SetTopMost( HWND hWnd, &lt;span style="color: blue;"&gt;const&lt;/span&gt; BOOL TopMost )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;ASSERT( ::IsWindow( hWnd ));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;HWND hWndInsertAfter = ( TopMost ? HWND_TOPMOST : HWND_NOTOPMOST );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;::SetWindowPos( hWnd, hWndInsertAfter, 0, 0 , 0 , 0, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;SWP_NOMOVE | SWP_NOSIZE );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The second parameter passed to ::SetWindowPos is the one that does the trick. It’ called hwndInsertAfter, if we specify the after window as HWND_TOPMOST then we get a topmost window, if we specify after window as HWND_NOTOPMOST then topmost setting is unset and our window becomes a normal window.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-4771447204219065422?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/4771447204219065422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=4771447204219065422' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4771447204219065422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4771447204219065422'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2009/04/how-to-create-topmost-window-using.html' title='How to create a topmost window using SetWindowPos?'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-4579602171055691480</id><published>2009-04-15T12:38:00.000+06:00</published><updated>2009-04-15T12:39:25.537+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ATL'/><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Set resource handle in MFC and ATL</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;When working in MFC/ATL and then using a resource dll can at times cause bugs because resource handle is not properly set. For e.g. if you have a dialog resource in a dll and you instantiate a CDialog which results in an error because resource cannot be located in this application or dll since it’s in the resource dll. So solution for above problem will be to set correct resource handle.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;MFC provides two functions…&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;1. AfxGetResourceHandle&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;2. AfxSetResourceHandle&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;So we should first save our current resource handle and then set new resource handle before loading such a resource. Also don’t forget to set our old handle since its good practice.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Internally MFC calls FindResource and LoadResource using this handle, so if it’s not properly set this will cause failure in loading resources.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In ATL it’s quite similar except that we’ve got a new function called AddResourceInstance which adds our new resource handle to existing list of handles. So when a look up is done given resource handle is also used. Following functions are provided in ATL to work with resource handles…&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;1. AddResourceInstance&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;2. GetResourceInstance - Similar to AfxGetResourceHandle&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;3. SetResourceInstance - Similar to AfxGetSetResourceHandle&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;For newbies this is always a painful bug to resolve as they don’t know what went wrong since they expect this to be automagically done.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Sample code snippet:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;class&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; CEMCResourceHandle&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;public&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CEMCResourceHandle()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;m_hPrevInst = AfxGetResourceHandle();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;m_hDLLInstance = ::LoadLibrary(szESIMFCControlsDLLName);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (m_hDLLInstance)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;AfxSetResourceHandle(m_hDLLInstance);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;virtual&lt;/span&gt; ~CEMCResourceHandle()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;AfxSetResourceHandle(m_hPrevInst);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(m_hDLLInstance != NULL)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;FreeLibrary(m_hDLLInstance);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;//! Retrieves the current resource instance&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;//!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;//! \return Return the current resource instance&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;HINSTANCE GetCurrentInstance() &lt;span style="color: blue;"&gt;const&lt;/span&gt; { &lt;span style="color: blue;"&gt;return&lt;/span&gt; m_hDLLInstance; }&lt;span style=""&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;//! Retrieves the previous resource instance&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;//!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;//! \return Return the previous resource instance&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;HINSTANCE GetPrevInstance() &lt;span style="color: blue;"&gt;const&lt;/span&gt; { &lt;span style="color: blue;"&gt;return&lt;/span&gt; m_hPrevInst; }&lt;span style=""&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;private&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;//! Handle of previous resource instance&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;HMODULE m_hPrevInst;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;//! Handle of loaded DLL resource instance&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;HMODULE m_hDLLInstance;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;};&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Just made an temporary instance of CEMCResourceHandle class&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Load resource from the DLL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;CEMCResourceHandle resHandle;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Set bitmap to the MoveUp button&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;m_btnUp.SetBitmap(::LoadBitmap(resHandle.GetCurrentInstance(), &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;MAKEINTRESOURCE(IDB_BITMAP_UPARROW)));&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-4579602171055691480?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/4579602171055691480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=4579602171055691480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4579602171055691480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4579602171055691480'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2009/04/set-resource-handle-in-mfc-and-atl.html' title='Set resource handle in MFC and ATL'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-5500189247351431640</id><published>2009-04-15T12:02:00.001+06:00</published><updated>2009-04-15T12:03:34.547+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Getting an ITEMIDLIST For a Path</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;If you have ever used &lt;/span&gt;&lt;code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;ShBrowseForFolder()&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;, you've probably noticed the &lt;/span&gt;&lt;code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;pidlRoot&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; member of the &lt;/span&gt;&lt;code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;BROWSEINFO&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; structure. It can be used to set the "root" folder to browse from. It's usually set to &lt;/span&gt;&lt;code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;NULL&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;, which means the "Desktop" folder.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Ever wanted to use another folder as the root for the "Browse For Folder" common dialog, but didn't know how to create an ITEMIDLIST for a given path? Here's a function that does it. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;BOOL GetItemIdListFromPath (LPWSTR lpszPath, LPITEMIDLIST *lpItemIdList)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;LPSHELLFOLDER pShellFolder = NULL;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;HRESULT&lt;span style=""&gt;         &lt;/span&gt;hr;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;ULONG&lt;span style=""&gt;         &lt;/span&gt;chUsed;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color: green;"&gt;// Get desktop IShellFolder interface&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (SHGetDesktopFolder (&amp;amp;pShellFolder) != NOERROR)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; FALSE;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style="color: green;"&gt;// failed&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color: green;"&gt;// convert the path to an ITEMIDLIST&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;hr = pShellFolder-&gt;ParseDisplayName (&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                  &lt;/span&gt;NULL,&lt;span style=""&gt;             &lt;/span&gt;&lt;span style="color: green;"&gt;// owner window&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                  &lt;/span&gt;NULL,&lt;span style=""&gt;             &lt;/span&gt;&lt;span style="color: green;"&gt;// reserved (must be NULL)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                  &lt;/span&gt;lpszPath,&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: green;"&gt;// folder name&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                  &lt;/span&gt;&amp;amp;chUsed,&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: green;"&gt;// number of chars parsed&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                  &lt;/span&gt;lpItemIdList,&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: green;"&gt;// ITEMIDLIST&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                  &lt;/span&gt;NULL&lt;span style=""&gt;              &lt;/span&gt;&lt;span style="color: green;"&gt;// attributes (can be NULL)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;               &lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (FAILED(hr))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;      &lt;/span&gt;pShellFolder-&gt;Release();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;      &lt;/span&gt;*lpItemIdList = NULL;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; FALSE;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;pShellFolder-&gt;Release();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; TRUE;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;} &lt;span style="color: green;"&gt;// GetItemIdListFromPath&lt;/span&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(204, 153, 0);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;It's written in C++, but converting it to plain C is just a matter of changing a couple of lines. To do it, change all interface calls like: &lt;/span&gt;&lt;code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;pShellFolder-&gt;ParseDisplayName()&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; to &lt;/span&gt;&lt;code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;pShellFolder-&gt;lpVtbl-&gt;ParseDisplayName(pShellFolder, ...)&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;, and similar changes to other calls.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Two things: The function receives the path as a UNICODE (LPWSTR) string, so you'll have to convert ANSI strings to unicode using &lt;/span&gt;&lt;code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;MultiByteToWideChar()&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; before calling the function. Finally, remember that you should free the memory referenced by the pointer to the ITEMIDLIST you get from the function by calling the Free() method of the IMalloc interface, which you can get using SHGetMalloc(). &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-5500189247351431640?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/5500189247351431640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=5500189247351431640' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5500189247351431640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5500189247351431640'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2009/04/getting-itemidlist-for-path.html' title='Getting an ITEMIDLIST For a Path'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-1261082846039288622</id><published>2009-04-15T11:57:00.001+06:00</published><updated>2009-04-15T11:57:40.519+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Is a path shared?</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;BOOL IsPathShared( LPCTSTR lpctszPath_i )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;SHFILEINFO shFileInfo = { 0 };&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; ( SHGetFileInfo( lpctszPath_i,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;0,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&amp;amp;shFileInfo,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;sizeof&lt;/span&gt;( shFileInfo ),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;SHGFI_ATTRIBUTES ) &amp;amp;&amp;amp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;( shFileInfo.dwAttributes &amp;amp; SFGAO_SHARE ) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;== SFGAO_SHARE );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;span style="color: green;"&gt;// End IsPathShared&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-1261082846039288622?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/1261082846039288622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=1261082846039288622' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/1261082846039288622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/1261082846039288622'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2009/04/is-path-shared.html' title='Is a path shared?'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-5723826240746872634</id><published>2009-04-15T11:55:00.000+06:00</published><updated>2009-04-15T11:56:11.086+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Is a given file shortcut to some other file?</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;BOOL IsShortcut( LPCTSTR lpctszPath_i )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;SHFILEINFO shFileInfo = { 0 };&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; (( SHGetFileInfo( lpctszPath_i,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;0,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&amp;amp;shFileInfo,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: blue;"&gt;sizeof&lt;/span&gt;( shFileInfo ),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;SHGFI_ATTRIBUTES )) &amp;amp;&amp;amp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 1in; text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt; &lt;/span&gt;( shFileInfo.dwAttributes &amp;amp; SFGAO_LINK ) == SFGAO_LINK );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;span style="color: green;"&gt;// End IsShortcut&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-5723826240746872634?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/5723826240746872634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=5723826240746872634' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5723826240746872634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5723826240746872634'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2009/04/is-given-file-shortcut-to-some-other.html' title='Is a given file shortcut to some other file?'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-5355746475950252699</id><published>2009-04-15T11:51:00.000+06:00</published><updated>2009-04-15T11:55:01.900+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>How to resolve a shortcut!</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Ever wondered how to resolve a shortcut! There is a hidden helper function if you are using MFC, it’s called AfxResolveShortcut. I customized it a bit, so that we can use it independently without MFC, and here is the finished product.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;BOOL ResolveShortcut( HWND hWnd_i, LPCTSTR lpctszFileIn_i, LPTSTR&lt;span style=""&gt;  &lt;/span&gt;lptszFileOut_o, &lt;span style="color: blue;"&gt;const&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; nPathLength_i )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Object for resolving link&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;IShellLink* psl = NULL;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;*lptszFileOut_o = 0;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color: green;"&gt;// assume failure&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (!hWnd_i)&lt;span style="color: blue;"&gt;return&lt;/span&gt; FALSE;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;SHFILEINFO info;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (( SHGetFileInfo(lpctszFileIn_i, 0, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&amp;amp;info, &lt;span style="color: blue;"&gt;sizeof&lt;/span&gt;(info),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;SHGFI_ATTRIBUTES) == 0) || &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;!(info.dwAttributes &amp;amp; SFGAO_LINK))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; FALSE;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CoInitialize( 0 );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Create instance&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;HRESULT hCreateRes = &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;CoCreateInstance( &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;CLSID_ShellLink, 0,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;CLSCTX_INPROC_SERVER,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;IID_IShellLink,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: blue;"&gt;reinterpret_cast&lt;/span&gt;&lt;lpvoid*&gt;( &amp;amp;psl ));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; ( FAILED( hCreateRes ) || psl == NULL )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; FALSE;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;IPersistFile *ppf = NULL;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (SUCCEEDED(psl-&gt;QueryInterface(IID_IPersistFile, (LPVOID*)&amp;amp;ppf)))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;USES_CONVERSION; &lt;span style="color: green;"&gt;// T2COLE needs this&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; ( ppf != NULL &amp;amp;&amp;amp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;SUCCEEDED( &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;ppf-&gt;Load( T2COLE( lpctszFileIn_i ), &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;STGM_READ))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: green;"&gt;/* Resolve the link, this may post UI to find the link */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; ( SUCCEEDED(psl-&gt;Resolve( hWnd_i, SLR_ANY_MATCH)))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;psl-&gt;GetPath(lptszFileOut_o, nPathLength_i, NULL, 0);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;ppf-&gt;Release();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;psl-&gt;Release();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;CoUninitialize();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; TRUE;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (ppf != NULL) ppf-&gt;Release();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;psl-&gt;Release();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CoUninitialize();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; FALSE;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;span style="color: green;"&gt;// End ResolveShortcut&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;//Lets test the above code...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;int&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; main()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;TCHAR chBuffer[MAX_PATH] = { 0 };&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;ResolveShortcut( hSomeWindow,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;_T( &lt;span style="color: rgb(163, 21, 21);"&gt;"C:\\shortcut to msdev.lnk"&lt;/span&gt; ),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;chBuffer,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;MAX_PATH );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;MessageBox( hSomeWindow, chBuffer, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;_T( &lt;span style="color: rgb(163, 21, 21);"&gt;"Hurray shortcut resolved"&lt;/span&gt; ), &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;MB_OK | MB_ICONINFORMATION );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;span style="color: green;"&gt;// End main&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-5355746475950252699?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/5355746475950252699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=5355746475950252699' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5355746475950252699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5355746475950252699'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2009/04/how-to-resolve-shortcut.html' title='How to resolve a shortcut!'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-5336546486370394091</id><published>2008-12-18T16:18:00.000+06:00</published><updated>2008-12-18T16:19:37.949+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>ComboBox with no borders</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; CMyComboBox::OnPaint() &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{ &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CPaintDC dc(&lt;span style="color: blue;"&gt;this&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CRect rect; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;GetClientRect(rect); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// draw borders &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;dc.Draw3dRect(rect,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;::GetSysColor(COLOR_3DSHADOW),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;::GetSysColor(COLOR_BTNHIGHLIGHT));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;rect.DeflateRect(1,1); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;dc.Draw3dRect(rect, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;::GetSysColor(COLOR_3DDKSHADOW),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;::GetSysColor(COLOR_BTNFACE));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;rect.DeflateRect(1,1); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;( (GetStyle() &amp;amp; 0x0000000f) &gt; CBS_SIMPLE) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{ &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;CRect rectBtn=rect; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;rectBtn.left = rectBtn.right - ::GetSystemMetrics(SM_CXHTHUMB); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;BOOL bPressed=FALSE; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(GetKeyState(VK_LBUTTON) &lt;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{ &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;CPoint point; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;::GetCursorPos(&amp;amp;point); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;ScreenToClient(&amp;amp;point); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(rectBtn.PtInRect(point))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;bPressed=TRUE;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: green;"&gt;// draw button &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;UINT uState = DFCS_SCROLLDOWN;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;uState |= (bPressed ? DFCS_FLAT | DFCS_PUSHED : 0);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;dc.DrawFrameControl(rectBtn, DFC_SCROLL, uState );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;rect.right=rectBtn.left;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;((GetStyle()&amp;amp;0x0000000f)==CBS_DROPDOWNLIST)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{ &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;CString sText;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;GetWindowText(sText);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(sText.IsEmpty())&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;dc.FillSolidRect(rect, ::GetSysColor(COLOR_WINDOW));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;else&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{ &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: green;"&gt;// draw border around edit control &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;dc.Draw3dRect(rect, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;::GetSysColor(COLOR_BTNHIGHLIGHT),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;::GetSysColor(COLOR_BTNHIGHLIGHT));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-5336546486370394091?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/5336546486370394091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=5336546486370394091' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5336546486370394091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5336546486370394091'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/combobox-with-no-borders.html' title='ComboBox with no borders'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-2827094049470664265</id><published>2008-12-18T16:16:00.000+06:00</published><updated>2008-12-18T16:17:19.149+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Removing the Button of a CComboBox</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;int&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; CMyComboBox::OnCreate(LPCREATESTRUCT lpCreateStruct)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; nRet = rtn = CComboBox::OnCreate(lpCreateStruct);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;COMBOBOXINFO pcb;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;pcb.cbSize = &lt;span style="color: blue;"&gt;sizeof&lt;/span&gt;(COMBOBOXINFO);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(GetComboBoxInfo(&amp;amp;pcb))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;CEdit* pEdit = (CEdit*)FromHandle(pcb.hwndItem);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(pEdit != NULL)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;m_rcComboEdit = pcb.rcItem;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;m_rcComboEditUnionBtn.UnionRect(ceRect,&amp;amp;pcb.rcButton);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; nRet;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; CMyComboBox::HideButton(BOOL bHide)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;COMBOBOXINFO pcb; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;pcb.cbSize = &lt;span style="color: blue;"&gt;sizeof&lt;/span&gt;(COMBOBOXINFO); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(GetComboBoxInfo(&amp;amp;pcb))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;CEdit* pEdit = (CEdit*)FromHandle(pcb.hwndItem); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(pEdit != NULL)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(bHide)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;pEdit-&gt;MoveWindow(m_rcComboEdit.left, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;m_rcComboEdit.top,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;m_rcComboEditUnionBtn.Width(),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;m_rcComboEdit.Height()); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: blue;"&gt;else&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;pEdit-&gt;MoveWindow(m_rcComboEdit.left, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;m_rcComboEdit.top,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;m_rcComboEdit.Width(), &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;m_rcComboEdit.Height()); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;RedrawWindow();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-2827094049470664265?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/2827094049470664265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=2827094049470664265' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/2827094049470664265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/2827094049470664265'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/removing-button-of-ccombobox.html' title='Removing the Button of a CComboBox'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-7798679056294911014</id><published>2008-12-18T16:14:00.000+06:00</published><updated>2008-12-18T16:15:57.689+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Modify the width and height of the drop down list in a combo box</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In MFC, you can simply subclass the combo-box and override the WM_CTLCOLOR message handler.&lt;span style=""&gt;  &lt;/span&gt;This handler is used because Windows sends a message to set the colors for each of the children of the combo (the edit and the list-box), and you can easily grab the list-box HWND at this time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;HBRUSH CMyComboBox::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (nCtlColor == CTLCOLOR_LISTBOX) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;HWND hwndList = pWnd-&gt;GetSafeHwnd() ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; ( hwndList != NULL )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;CRect rectList ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;::GetWindowRect( hwndList, rectList ) ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;::MoveWindow( hwndList, rectList.left, rectList.top, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;(rectList.right - rectList.left + EXTRA_WIDTH), &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;rectList.bottom - rectList.top + EXTRA_HEIGHT, TRUE ) ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; CComboBox::OnCtlColor( pDC, pWnd, nCtlColor ) ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-7798679056294911014?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/7798679056294911014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=7798679056294911014' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/7798679056294911014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/7798679056294911014'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/modify-width-and-height-of-drop-down.html' title='Modify the width and height of the drop down list in a combo box'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-4363270894739354767</id><published>2008-12-18T16:11:00.000+06:00</published><updated>2008-12-18T16:13:47.693+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Resize a combo box at run-time</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;/*--------------------------------------------------------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;&lt;span style=""&gt; &lt;/span&gt;* Purpose&lt;span style=""&gt;               &lt;/span&gt;: Set the proper number of lines in a drop-down list or combo box.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;&lt;span style=""&gt; &lt;/span&gt;* Description&lt;span style=""&gt; &lt;/span&gt;: Resizes the combo box window to fit the proper number of lines.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;&lt;span style=""&gt; &lt;/span&gt;*-------------------------------------------------------------------------------*/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; Set_DropDownSize(CComboBox&amp;amp; box, UINT nLinesToDisplay)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CRect cbSize;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;box.GetClientRect(cbSize);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; nHeight;&lt;span style=""&gt;    &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;nHeight = box.GetItemHeight(-1); &lt;span style="color: green;"&gt;// start with size of the edit-box portion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;nHeight += box.GetItemHeight(0) * nLinesToDisplay; &lt;span style="color: green;"&gt;// add height of lines of text&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Add the height of the border of the edit box&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;nHeight += GetSystemMetrics(SM_CYEDGE) * 2; &lt;span style="color: green;"&gt;// top &amp;amp; bottom edges&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Add the height of the border of the drop-down box&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;nHeight += GetSystemMetrics(SM_CYEDGE) * 2; &lt;span style="color: green;"&gt;// top &amp;amp; bottom edges&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Set the size of the window&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;box.SetWindowPos(NULL, 0, 0,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;cbSize.right, nHeight,&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: green;"&gt;// existing width, new height&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;SWP_NOMOVE | SWP_NOZORDER&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: green;"&gt;// don't move box or change z-ordering.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-4363270894739354767?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/4363270894739354767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=4363270894739354767' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4363270894739354767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4363270894739354767'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/resize-combo-box-at-run-time.html' title='Resize a combo box at run-time'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-3241268724997325799</id><published>2008-12-01T16:21:00.006+06:00</published><updated>2008-12-01T16:34:02.688+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>How to add MFC support to a simple ATL project</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: navy;"&gt;Step 1: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: navy;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Add the following:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; _ATL_CSTRING_EXPLICIT_CONSTRUCTORS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;#include&lt;/span&gt; &lt;span style="color: rgb(163, 21, 21);"&gt;afxwin.h&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;#ifndef&lt;/span&gt; _AFX_NO_OLE_SUPPORT&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;#include&lt;/span&gt; &lt;span style="color: rgb(163, 21, 21);"&gt;afxdisp.h &lt;/span&gt; &lt;span style="color: green;"&gt;// MFC Automation classes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#endif&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;span style="color: green;"&gt;// _AFX_NO_OLE_SUPPORT&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;This block should be added before&lt;span style=""&gt;   &lt;/span&gt;#define _ATL_ALL_WARNINGS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: navy;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: navy;"&gt;Step 2: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: navy;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In Configuration properties -&gt; General -&gt; Projects Defaults -&gt; Use of MFC, Select "Use MFC in a Shared DLL"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: navy;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: navy;"&gt;Step 3: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: navy;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In the Configuration properties -&gt; C/C++ -&gt;Preprocessor Options section of the Compiler Settings if you are using _USRDLL and _AFXDLL together, try to remove _USRDLL and rebuild again.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;We can just add ATL dialog in our project. But there will be some problems such as we can't add Control variables.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-3241268724997325799?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/3241268724997325799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=3241268724997325799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3241268724997325799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3241268724997325799'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/how-to-add-mfc-support-to-simple-atl.html' title='How to add MFC support to a simple ATL project'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-4487453979506177091</id><published>2008-12-01T16:20:00.000+06:00</published><updated>2008-12-01T16:21:29.017+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Get the Application Directory</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// With standard string&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;char&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; szAppPath[MAX_PATH] = &lt;span style="color: rgb(163, 21, 21);"&gt;""&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;char&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; szAppDirectory[MAX_PATH] = &lt;span style="color: rgb(163, 21, 21);"&gt;""&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;::GetModuleFileName(0, szAppPath, &lt;span style="color: blue;"&gt;sizeof&lt;/span&gt;(szAppPath) - 1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Extract directory&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;strncpy(szAppDirectory, szAppPath, strrchr(szAppPath, &lt;span style="color: rgb(163, 21, 21);"&gt;'\\'&lt;/span&gt;) - szAppPath);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;szAppDirectory[strlen(szAppDirectory)] = &lt;span style="color: rgb(163, 21, 21);"&gt;'\0'&lt;/span&gt;;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-4487453979506177091?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/4487453979506177091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=4487453979506177091' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4487453979506177091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4487453979506177091'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/get-application-directory.html' title='Get the Application Directory'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-5082267531241814408</id><published>2008-12-01T16:19:00.001+06:00</published><updated>2008-12-01T16:20:00.453+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>How to open a view in maximized mode</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; CTabbedViewPrjView::OnInitialUpdate()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CView::OnInitialUpdate(); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;GetParentFrame()-&gt;ShowWindow(SW_MAXIMIZE);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-5082267531241814408?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/5082267531241814408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=5082267531241814408' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5082267531241814408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5082267531241814408'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/how-to-open-view-in-maximized-mode.html' title='How to open a view in maximized mode'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-9056704957794696423</id><published>2008-12-01T16:16:00.000+06:00</published><updated>2008-12-01T16:17:12.985+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Searching files or folder in a Directory</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;CFileFind finder;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;BOOL bWorking = finder.FindFile(SearchPath);&lt;span style=""&gt;      &lt;/span&gt;&lt;span style="color: green;"&gt;// SearchPath : "C:\MyFolder\*.*"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;while&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;(bWorking)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;bWorking = finder.FindNextFile();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(finder.IsDots()) &lt;span style="color: blue;"&gt;continue&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(finder.IsDirectory())&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;.....&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-9056704957794696423?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/9056704957794696423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=9056704957794696423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/9056704957794696423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/9056704957794696423'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/searching-files-or-folder-in-directory.html' title='Searching files or folder in a Directory'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-7714252825615424407</id><published>2008-12-01T16:15:00.000+06:00</published><updated>2008-12-01T16:16:18.237+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>4 Steps to Recreate a Control (when there is no other workaround)</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;To recreate a Control you must:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1. Store rectangle and previous window in Z order (to keep Tab work normally).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;2. Destroy Control by DestroyWindow().&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;3. Create Control by CreateWindow(). // put here your styles.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;4. Move window to proper Z order by - &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;SetWindowPos (&amp;amp;wndPrev, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZCTIVATE);&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-7714252825615424407?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/7714252825615424407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=7714252825615424407' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/7714252825615424407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/7714252825615424407'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/4-steps-to-recreate-control-when-there.html' title='4 Steps to Recreate a Control (when there is no other workaround)'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-4104274765762562352</id><published>2008-12-01T16:13:00.000+06:00</published><updated>2008-12-01T16:15:33.633+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>DestroyWindow must be called for tooltips in the OnDestroy Message Handler of the Dialog</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;It seems, there is an internal Windows Mechanizm which turns off the WS_CHILDWINDOW style even if it is set for the tooltip control (Traced by SPY). Therefore it is evident, like Jacques said, the tooltip control is not treated like a normal child window of a dialog and it doesn't get destroyed when the Dialog is destroyed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Therefore, DestroyWindow must be called for tooltips in the OnDestroy Message Handler of the Dialog.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-4104274765762562352?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/4104274765762562352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=4104274765762562352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4104274765762562352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4104274765762562352'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/destroywindow-must-be-called-for.html' title='DestroyWindow must be called for tooltips in the OnDestroy Message Handler of the Dialog'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-1420573049463957649</id><published>2008-12-01T16:12:00.000+06:00</published><updated>2008-12-01T16:13:30.996+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Handle minimize maximize event</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Handle the WM_SYSCOMMAND message. The buttons and menu items on the title bar&lt;br /&gt;are all "system commands" and will generate this message.  You'll need to mask&lt;br /&gt;the ID with 0xFFF0 to remove the lowest 4 bits before determining which command&lt;br /&gt;was sent. &lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Example code:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; CMainFrame::OnSysCommand( UINT nID, LPARAM lParam )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;    &lt;/span&gt;UINT nCmd = (nID &amp;amp; 0xFFF0) ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;span style="color: blue;"&gt;switch&lt;/span&gt; ( nCmd )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;case&lt;/span&gt; SC_SIZE:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: green;"&gt;// Do something here when user chooses Size command&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;break&lt;/span&gt; ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;case&lt;/span&gt; SC_MOVE:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: green;"&gt;// Do something here when user chooses Move command&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;break&lt;/span&gt; ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;case&lt;/span&gt; SC_CLOSE:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: green;"&gt;// Do something here when user chooses Close or presses X button&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;break&lt;/span&gt; ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;case&lt;/span&gt; SC_MAXIMIZE:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: green;"&gt;// Do something here when user chooses Maximize or presses Maximize button&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;break&lt;/span&gt; ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;case&lt;/span&gt; SC_MINIMIZE:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: green;"&gt;// Do something here when user chooses Minimize or presses Minimize button&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;break&lt;/span&gt; ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;case&lt;/span&gt; SC_RESTORE:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: green;"&gt;// Do something here when user chooses Restore or presses Restore button&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;break&lt;/span&gt; ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;default&lt;/span&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;    &lt;/span&gt;CFrameWnd::OnSysCommand( nID, lParam ) ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-1420573049463957649?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/1420573049463957649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=1420573049463957649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/1420573049463957649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/1420573049463957649'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/handle-minimize-maximize-event.html' title='Handle minimize maximize event'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-667834453542459091</id><published>2008-12-01T14:31:00.001+06:00</published><updated>2008-12-01T14:32:35.446+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Some Interesting Cursors defined in afxres.h</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Standard cursors (0x7901-&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// AFX_IDC = Cursor resources&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_CONTEXTHELP 30977 &lt;span style="color: green;"&gt;// context sensitive help&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_MAGNIFY 30978 &lt;span style="color: green;"&gt;// print preview zoom&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_SMALLARROWS 30979 &lt;span style="color: green;"&gt;// splitter&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_HSPLITBAR 30980 &lt;span style="color: green;"&gt;// splitter&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_VSPLITBAR 30981 &lt;span style="color: green;"&gt;// splitter&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_NODROPCRSR 30982 &lt;span style="color: green;"&gt;// No Drop Cursor&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_TRACKNWSE 30983 &lt;span style="color: green;"&gt;// tracker&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_TRACKNESW 30984 &lt;span style="color: green;"&gt;// tracker&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_TRACKNS 30985 &lt;span style="color: green;"&gt;// tracker&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_TRACKWE 30986 &lt;span style="color: green;"&gt;// tracker&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_TRACK4WAY 30987 &lt;span style="color: green;"&gt;// tracker&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_MOVE4WAY 30988 &lt;span style="color: green;"&gt;// resize bar (server only)&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Wheel mouse cursors&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// NOTE: values must be in this order! See CScrollView::OnTimer()&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_MOUSE_PAN_NW 30998 &lt;span style="color: green;"&gt;// pan east&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_MOUSE_PAN_N 30999 &lt;span style="color: green;"&gt;// pan northeast&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_MOUSE_PAN_NE 31000 &lt;span style="color: green;"&gt;// pan north&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_MOUSE_PAN_W 31001 &lt;span style="color: green;"&gt;// pan northwest&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_MOUSE_PAN_HV 31002 &lt;span style="color: green;"&gt;// pan both axis&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_MOUSE_PAN_E 31003 &lt;span style="color: green;"&gt;// pan west&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_MOUSE_PAN_SW 31004 &lt;span style="color: green;"&gt;// pan south-west&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_MOUSE_PAN_S 31005 &lt;span style="color: green;"&gt;// pan south&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_MOUSE_PAN_SE 31006 &lt;span style="color: green;"&gt;// pan south-east&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_MOUSE_PAN_HORZ 31007 &lt;span style="color: green;"&gt;// pan X-axis&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#define&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; AFX_IDC_MOUSE_PAN_VERT 31008 &lt;span style="color: green;"&gt;// pan Y-axis&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-667834453542459091?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/667834453542459091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=667834453542459091' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/667834453542459091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/667834453542459091'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/some-interesting-cursors-defined-in.html' title='Some Interesting Cursors defined in afxres.h'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-3160868924498381783</id><published>2008-12-01T14:28:00.002+06:00</published><updated>2008-12-01T14:29:00.613+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>A good technique to prevent unnecessary NULL Checking in virtual methods of an inherited class</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Suppose you have a method submit in a class called BOOL CommandProcessor::Submit (CCommand* pCommand), which calls a method &lt;span style="color: blue;"&gt;virtual&lt;/span&gt; BOOL CommandProcessor::DoCommand (CEMCCommand* cmd). The code in the Submit Method goes like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;BOOL CCmdProcessor::Submit(CCommand* pCommand)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (pCommand != NULL)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;if(DoCommand(pCommand))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;.....&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;.....&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Now somebody when overriding the DoCommand method in his inherited class might write a code such as this&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;virtual&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; CInheritedCmdProcessor::DoCommand(CCommand* pCommand)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(pCommand != NULL) // -&gt; line X&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;pCommand-&gt;Execute();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;As you can see, the NULL checking in line X is totally unnecessary since we are already checking for NULL in the parent class's CCmdProcessor::Submit method.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;But the developer cannot be blamed, since he is receiving a pointer, his first intention would be Safety Checking. Therefore, you can just modify your architecture a little to make sure, unnecessary checking is reduced. Just simply pass a reference instead of a pointer in the DoCommand. Therefore, the developer who is inheriting your class is certain that a valid object is coming and no need to check for NULL memory. Therefore your DoCommand method should be as follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;virtual&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; CCmdProcessor::DoCommand(CCommand&amp;amp; cmd) and the code in the Submit method should be like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;BOOL CCmdProcessor::Submit(CCommand* pCommand)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(pCommand != NULL)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(DoCommand(*pCommand))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;.....&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;.....&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-3160868924498381783?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/3160868924498381783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=3160868924498381783' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3160868924498381783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3160868924498381783'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/good-technique-to-prevent-unnecessary.html' title='A good technique to prevent unnecessary NULL Checking in virtual methods of an inherited class'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-4891096415533888314</id><published>2008-12-01T14:28:00.001+06:00</published><updated>2008-12-01T14:28:26.173+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>“errno” is never reset</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The external &lt;/span&gt;&lt;a name="zenid-71"&gt;&lt;/a&gt;&lt;code&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;int&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; variable &lt;/span&gt;&lt;a name="zenid-72"&gt;&lt;/a&gt;&lt;code&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;errno&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; contains the number of the most recent error or warning condition detected by the run-time library. To use this value, include the header file &lt;/span&gt;&lt;a name="zenid-73"&gt;&lt;/a&gt;&lt;code&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;errno.h&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;a name="z2021580"&gt;&lt;/a&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;If no error or warning condition is detected, the value of &lt;/span&gt;&lt;a name="zenid-74"&gt;&lt;/a&gt;&lt;code&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;errno&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; is 0. After program execution starts, &lt;/span&gt;&lt;a name="zenid-75"&gt;&lt;/a&gt;&lt;code&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;errno&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; is never reset to 0 by the library. Programs that use &lt;/span&gt;&lt;a name="zenid-76"&gt;&lt;/a&gt;&lt;code&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;errno&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; for information about unusual conditions must set it to 0 before calling a library routine that may detect such a condition.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-4891096415533888314?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/4891096415533888314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=4891096415533888314' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4891096415533888314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4891096415533888314'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/errno-is-never-reset.html' title='“errno” is never reset'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-2355160805109950424</id><published>2008-12-01T14:27:00.001+06:00</published><updated>2008-12-01T14:27:59.079+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Inheritance problem</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;When you made a class &lt;b&gt;child&lt;/b&gt; who is inherit from class &lt;b&gt;parent&lt;/b&gt; and if &lt;b&gt;parent&lt;/b&gt; class has some forward declaration then you received a “Compiler Error C2512 - missing type specifier”. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The solution is removing the forward declaration from the &lt;b&gt;parent&lt;/b&gt; class header.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-2355160805109950424?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/2355160805109950424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=2355160805109950424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/2355160805109950424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/2355160805109950424'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/inheritance-problem.html' title='Inheritance problem'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-6926641247800274783</id><published>2008-12-01T10:58:00.002+06:00</published><updated>2008-12-01T10:59:31.092+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>How to convert a pointer to a two dimensional array</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; PassAs2DArray(&lt;span style="color: blue;"&gt;int&lt;/span&gt; a[][10])&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;typedef&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; (*Ptr2Dim) [10];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; main()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;* n = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;*)&lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; [1023];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;//PassAs2DArray((int(*)[10])n); -&gt; This also works&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;PassAS2DArray((Ptr2Dim)n);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-6926641247800274783?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/6926641247800274783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=6926641247800274783' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/6926641247800274783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/6926641247800274783'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/how-to-convert-pointer-to-two.html' title='How to convert a pointer to a two dimensional array'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-4428872674628059628</id><published>2008-12-01T10:58:00.001+06:00</published><updated>2008-12-01T10:58:53.360+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Method that returns the size of any array declared in stack</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;template&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;&lt;span style="color: blue;"&gt;typename&lt;/span&gt; T, size_t N&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;size_t mysizeof(T(&amp;amp;)[N])&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; N;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: navy;"&gt;On this note, here is a way to pass an array by C++ reference style where A has no l-value&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; PassArrayByRef(&lt;span style="color: blue;"&gt;int&lt;/span&gt;(&amp;amp;A)[10])&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// A++; // Illegal&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: navy;"&gt;The usual way to pass an array where “A” is a pointer &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; PassArrayByPtr(&lt;span style="color: blue;"&gt;int&lt;/span&gt; A[10])&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;A++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-4428872674628059628?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/4428872674628059628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=4428872674628059628' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4428872674628059628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4428872674628059628'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/method-that-returns-size-of-any-array.html' title='Method that returns the size of any array declared in stack'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-4987090545649845055</id><published>2008-12-01T10:23:00.000+06:00</published><updated>2008-12-01T10:25:13.279+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Select Full Text without changing the Caret pos in CRichEditCtrl</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;CPoint pt = GetCaretPos();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;int&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; x = CharFromPos(pt);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;SetSel(0, -1); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;SendMessage(WM_HSCROLL, MAKEWPARAM(SB_THUMBPOSITION, x), 0);&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-4987090545649845055?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/4987090545649845055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=4987090545649845055' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4987090545649845055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4987090545649845055'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/12/select-full-text-without-changing-caret.html' title='Select Full Text without changing the Caret pos in CRichEditCtrl'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-6363263989142330098</id><published>2008-09-22T15:50:00.007+06:00</published><updated>2008-09-22T16:17:39.762+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Create DIB section from a BMP file</title><content type='html'>&lt;div class="snap_preview"&gt;&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:green;"   &gt;// Creates a DIB section from a BMP file&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:green;"   &gt;//&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:green;"   &gt;// lpszFileName&lt;span&gt; &lt;/span&gt;: Name of the BMP file&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:green;"   &gt;// ppvBits&lt;span&gt; &lt;/span&gt;: Receive address of bitmap bits&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:green;"   &gt;// hSection&lt;span&gt; &lt;/span&gt;: Optional handle to a file mapping object&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:green;"   &gt;// dwOffset&lt;span&gt; &lt;/span&gt;: Offset to the bitmap bit values within hSection&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:green;"   &gt;//&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;HBITMAP LoadDIBSectionFromFile( LPCTSTR lpszFileName, LPVOID *ppvBits &lt;span style="color:green;"&gt;/*= NULL*/&lt;/span&gt;, HANDLE hSection &lt;span style="color:green;"&gt;/*= NULL*/&lt;/span&gt;, DWORD dwOffset &lt;span style="color:green;"&gt;/*= 0*/&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;{&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;LPVOID lpBits;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;CFile file;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;( !file.Open( lpszFileName, CFile::modeRead) )&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; NULL;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;BITMAPFILEHEADER bmfHeader;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;long&lt;/span&gt; nFileLen;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;nFileLen = file.GetLength();&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:green;"&gt;// Read file header&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (file.Read((LPSTR)&amp;amp;bmfHeader, &lt;span style="color:blue;"&gt;sizeof&lt;/span&gt;(bmfHeader)) != &lt;span style="color:blue;"&gt;sizeof&lt;/span&gt;(bmfHeader))&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; NULL;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:green;"&gt;// File type should be ‘BM’&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;int &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;ch1 = &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;‘M’&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;int &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;ch2 =&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; 8;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;int &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;leftshift =&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; ch1 &lt;&lt;&gt;&lt;/p&gt;      &lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:blue;"   &gt;int &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ch = &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style="color: rgb(163, 21, 21);"&gt;‘B’&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:blue;"   &gt;if&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; ( bmfHeader.bfType != (WORD) (&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;leftshift &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; | &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;ch&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style="color: rgb(163, 21, 21);"&gt; &lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; NULL;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;BITMAPINFO *pbmInfo;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;pbmInfo = (BITMAPINFO *)::GlobalAlloc(GMEM_FIXED, &lt;span style="color:blue;"&gt;sizeof&lt;/span&gt;(BITMAPINFO) + &lt;span style="color:blue;"&gt;sizeof&lt;/span&gt;(RGBQUAD)*256 );&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (pbmInfo == NULL)&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; NULL;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:green;"&gt;// Read the BITMAPINFO&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;file.Read( pbmInfo, &lt;span style="color:blue;"&gt;sizeof&lt;/span&gt;(BITMAPINFO) + &lt;span style="color:blue;"&gt;sizeof&lt;/span&gt;(RGBQUAD)*256 );&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;BITMAPINFO &amp;amp;bmInfo = *pbmInfo ;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;HBITMAP hBmp = CreateDIBSection( NULL, pbmInfo, DIB_RGB_COLORS, &amp;amp;lpBits, hSection, dwOffset );&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;LPBYTE&lt;span&gt; &lt;/span&gt;lpDIBBits;&lt;span&gt; &lt;/span&gt;&lt;span style="color:green;"&gt;// Pointer to DIB bits&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt; nColors = bmInfo.bmiHeader.biClrUsed ? bmInfo.bmiHeader.biClrUsed : 1 &lt;&lt;&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;( bmInfo.bmiHeader.biBitCount &gt; 8 )&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;lpDIBBits = (LPBYTE)((LPDWORD)(bmInfo.bmiColors + bmInfo.bmiHeader.biClrUsed) + ((bmInfo.bmiHeader.biCompression == BI_BITFIELDS) ? 3 : 0));&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;lpDIBBits = (LPBYTE)(bmInfo.bmiColors + nColors);&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt; nOffset = &lt;span style="color:blue;"&gt;sizeof&lt;/span&gt;(BITMAPFILEHEADER) + (lpDIBBits - (LPBYTE)pbmInfo);&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;file.Seek( nOffset, CFile::begin);&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;file.ReadHuge((LPSTR)lpBits, nFileLen - nOffset); &lt;span style="color:green;"&gt;//bmInfo.biSizeImage ); &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:green;"   &gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;::GlobalFree(pbmInfo);&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;( ppvBits )&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;*ppvBits = lpBits;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; hBmp;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;}&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-6363263989142330098?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/6363263989142330098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=6363263989142330098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/6363263989142330098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/6363263989142330098'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/09/create-dib-section-from-bmp-file.html' title='Create DIB section from a BMP file'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-3801482933324983235</id><published>2008-09-22T15:47:00.001+06:00</published><updated>2008-09-22T15:49:56.194+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Converting double to a CString (0.005 to 5e-003)</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span class="bodycopy"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Input:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="bodycopy"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span class="bodycopy"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;" lang="FR"&gt;double&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;" lang="FR"&gt; d = 0.005;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;" lang="FR"&gt;CString strTemp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;" lang="FR"&gt;strTemp.Format(&lt;span style="color: rgb(163, 21, 21);"&gt;"%.0e"&lt;/span&gt;,d);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;" lang="FR"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Output :&lt;span style=""&gt;         &lt;/span&gt;“&lt;i&gt;5e-003&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;But if I want “&lt;b&gt;&lt;i&gt;5e-03&lt;/i&gt;”&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; then&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span class="bodycopy"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Input:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Enable two-digit exponent format&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;unsigned&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; old_exponent_format;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;old_exponent_format = _set_output_format(_TWO_DIGIT_EXPONENT);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;double&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; d = 0.005;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;CString strTemp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;strTemp.Format(&lt;span style="color: rgb(163, 21, 21);"&gt;"%.0e"&lt;/span&gt;,d);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Output :&lt;span style=""&gt;         &lt;/span&gt;“&lt;i&gt;5e-03&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Conversion to scientific notation is done automatically. But as far as I know “&lt;b&gt;&lt;i&gt;5e-3&lt;/i&gt;&lt;/b&gt;” is impossible.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-3801482933324983235?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/3801482933324983235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=3801482933324983235' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3801482933324983235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3801482933324983235'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/09/converting-double-to-cstring-0005-to-5e.html' title='Converting double to a CString (0.005 to 5e-003)'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-5702267122147380125</id><published>2008-09-22T15:46:00.000+06:00</published><updated>2008-09-22T15:47:39.642+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Retrieve the Application Directory</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// With standard string&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;char&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; szAppPath[MAX_PATH]&lt;span style=""&gt;      &lt;/span&gt;= &lt;span style="color: rgb(163, 21, 21);"&gt;""&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;char&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; szAppDirectory[MAX_PATH] = &lt;span style="color: rgb(163, 21, 21);"&gt;""&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;::GetModuleFileName(0, szAppPath, &lt;span style="color: blue;"&gt;sizeof&lt;/span&gt;(szAppPath) - 1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Extract directory&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;strncpy(szAppDirectory, szAppPath, strrchr(szAppPath, &lt;span style="color: rgb(163, 21, 21);"&gt;'\\'&lt;/span&gt;) - szAppPath);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;szAppDirectory[strlen(szAppDirectory)] = &lt;span style="color: rgb(163, 21, 21);"&gt;'\0'&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-5702267122147380125?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/5702267122147380125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=5702267122147380125' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5702267122147380125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5702267122147380125'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/09/retrieve-application-directory.html' title='Retrieve the Application Directory'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-604148052647097215</id><published>2008-09-11T16:41:00.001+06:00</published><updated>2008-09-11T16:43:05.313+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Draw Multi-line Text into a Window in MFC</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Draw multiline text into a window&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;//&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// pDC&lt;span style=""&gt;                              &lt;/span&gt;: Specifies the device context&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// str&lt;span style=""&gt;                               &lt;/span&gt;: Specifies the string&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// rectText&lt;span style=""&gt;                        &lt;/span&gt;: Specifies the text rectangle&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// nFirstVisibleLineIndex&lt;span style=""&gt;       &lt;/span&gt;: Specifies the first visible line index&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// nFormat&lt;span style=""&gt;                        &lt;/span&gt;: Specifies the method of formatting the text&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;//&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; CEMCHotCtrl::DrawMultilineText(CDC* pDC, CString str, CRect rectText, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nFirstVisibleLineIndex, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nFormat)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;span style=""&gt;                  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(str.GetLength() &gt; 0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;const&lt;/span&gt; TCHAR* p = (LPCTSTR) str;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;CSize sz = pDC-&gt;GetTextExtent(p);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;const&lt;/span&gt; TCHAR* end = p;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; nLine = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(nFirstVisibleLineIndex &gt; 0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: blue;"&gt;while&lt;/span&gt;(*end != 0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(*end == _T(&lt;span style="color: rgb(163, 21, 21);"&gt;'\n'&lt;/span&gt;))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;nLine++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(nLine == nFirstVisibleLineIndex)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                          &lt;/span&gt;end++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                          &lt;/span&gt;&lt;span style="color: blue;"&gt;break&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;end++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; len = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;TCHAR buf[10000];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;while&lt;/span&gt;(*end != 0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style=""&gt;                   &lt;/span&gt;buf[len] = *end;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;end++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;len++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(*end == _T(&lt;span style="color: rgb(163, 21, 21);"&gt;'\n'&lt;/span&gt;) || (*end == 0))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(buf[len - 1] == _T(&lt;span style="color: rgb(163, 21, 21);"&gt;'\r'&lt;/span&gt;))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;buf[len - 1] = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;buf[len] = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;pDC-&gt;DrawText(buf, -1, rectText, nFormat);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(*end == _T(&lt;span style="color: rgb(163, 21, 21);"&gt;'\n'&lt;/span&gt;))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;end++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;rectText.top += sz.cy;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;len = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;span style=""&gt;                  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;span style=""&gt;                  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-604148052647097215?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/604148052647097215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=604148052647097215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/604148052647097215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/604148052647097215'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/09/draw-multi-line-text-into-window-in-mfc.html' title='Draw Multi-line Text into a Window in MFC'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-8460593932282676546</id><published>2008-09-11T16:27:00.000+06:00</published><updated>2008-09-11T16:28:32.317+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Draw a Transparent Bitmap into the destination DC with Pallete in MFC</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Draw a transparent bitmap into the destination DC with Pallete&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; CEMCHotCtrl::TransparentBlt(HDC hdcDest, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nXDest, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nYDest, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nWidth, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nHeight, HBITMAP hBitmap, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nXSrc, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nYSrc, COLORREF colorTransparent, HPALETTE hPal)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CDC dc, memDC, maskDC, tempDC;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;dc.Attach( hdcDest );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;maskDC.CreateCompatibleDC(&amp;amp;dc);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CBitmap maskBitmap;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// These store return of SelectObject() calls&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CBitmap* pOldMemBmp = NULL;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CBitmap* pOldMaskBmp = NULL;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;HBITMAP hOldTempBmp = NULL;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;memDC.CreateCompatibleDC (&amp;amp;dc);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;tempDC.CreateCompatibleDC (&amp;amp;dc);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CBitmap bmpImage;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;bmpImage.CreateCompatibleBitmap (&amp;amp;dc, nWidth, nHeight);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;pOldMemBmp = memDC.SelectObject (&amp;amp;bmpImage);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Select and realize the palette&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (dc.GetDeviceCaps (RASTERCAPS) &amp;amp; RC_PALETTE &amp;amp;&amp;amp; hPal)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;::SelectPalette( dc, hPal, FALSE );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;dc.RealizePalette();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;::SelectPalette( memDC, hPal, FALSE );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;hOldTempBmp = (HBITMAP) ::SelectObject (tempDC.m_hDC, hBitmap);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;memDC.BitBlt (0, 0, nWidth, nHeight, &amp;amp;tempDC, nXSrc, nYSrc, SRCCOPY);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Create monochrome bitmap for the mask&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;maskBitmap.CreateBitmap (nWidth, nHeight, 1, 1, NULL);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;pOldMaskBmp = maskDC.SelectObject (&amp;amp;maskBitmap);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;memDC.SetBkColor (colorTransparent);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Create the mask from the memory DC&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;maskDC.BitBlt (0, 0, nWidth, nHeight, &amp;amp;memDC, 0, 0, SRCCOPY);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Set the background in memDC to black. Using SRCPAINT with black and any other color results in the other color, thus making black the transparent color&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;memDC.SetBkColor (RGB (0,0,0));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;memDC.SetTextColor (RGB (255,255,255));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;memDC.BitBlt (0, 0, nWidth, nHeight, &amp;amp;maskDC, 0, 0, SRCAND);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Set the foreground to black. See comment above.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;dc.SetBkColor (RGB (255,255,255));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;dc.SetTextColor (RGB (0,0,0));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;dc.BitBlt (nXDest, nYDest, nWidth, nHeight, &amp;amp;maskDC, 0, 0, SRCAND);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Combine the foreground with the background&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;dc.BitBlt (nXDest, nYDest, nWidth, nHeight, &amp;amp;memDC, 0, 0, SRCPAINT);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (hOldTempBmp)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;::SelectObject (tempDC.m_hDC, hOldTempBmp);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (pOldMaskBmp)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;maskDC.SelectObject (pOldMaskBmp);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (pOldMemBmp)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;memDC.SelectObject (pOldMemBmp);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;dc.Detach();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-8460593932282676546?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/8460593932282676546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=8460593932282676546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/8460593932282676546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/8460593932282676546'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/09/draw-transparent-bitmap-into_11.html' title='Draw a Transparent Bitmap into the destination DC with Pallete in MFC'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-3009516398605468236</id><published>2008-09-11T16:24:00.001+06:00</published><updated>2008-09-11T16:24:50.965+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Draw a Transparent Bitmap into the destination DC in MFC</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Draw a transparent bitmap into the destination DC.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; CEMCHotCtrl::TransparentBlt(HDC hdcDest, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nXDest, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nYDest, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nWidth, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nHeight, HBITMAP hBitmap, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nXSrc, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nYSrc, COLORREF cTransparentColor)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;COLORREF&lt;span style=""&gt;   &lt;/span&gt;cColor;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;HBITMAP&lt;span style=""&gt;    &lt;/span&gt;bmAndBack, bmAndObject, bmAndMem, bmSave;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;HBITMAP&lt;span style=""&gt;    &lt;/span&gt;bmBackOld, bmObjectOld, bmMemOld, bmSaveOld;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;HDC&lt;span style=""&gt;        &lt;/span&gt;hdcMem, hdcBack, hdcObject, hdcTemp, hdcSave;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;POINT&lt;span style=""&gt;      &lt;/span&gt;ptSize;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;hdcTemp = CreateCompatibleDC(hdcDest);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;SelectObject(hdcTemp, hBitmap);&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color: green;"&gt;// Select the bitmap&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;ptSize.x = nWidth;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;ptSize.y = nHeight;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;DPtoLP(hdcTemp, &amp;amp;ptSize, 1);&lt;span style=""&gt;      &lt;/span&gt;&lt;span style="color: green;"&gt;// Convert from device&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Create some DCs to hold temporary data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;hdcBack&lt;span style=""&gt;   &lt;/span&gt;= CreateCompatibleDC(hdcDest);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;hdcObject = CreateCompatibleDC(hdcDest);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;hdcMem&lt;span style=""&gt;    &lt;/span&gt;= CreateCompatibleDC(hdcDest);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;hdcSave&lt;span style=""&gt;   &lt;/span&gt;= CreateCompatibleDC(hdcDest);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Create a bitmap for each DC. DCs are required for a number of GDI functions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;Monochrome&lt;/st1:City&gt;  &lt;st1:state st="on"&gt;DC&lt;/st1:State&gt;&lt;/st1:place&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;bmAndBack&lt;span style=""&gt;   &lt;/span&gt;= CreateBitmap(ptSize.x, ptSize.y, 1, 1, NULL);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;Monochrome&lt;/st1:City&gt;  &lt;st1:state st="on"&gt;DC&lt;/st1:State&gt;&lt;/st1:place&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;bmAndObject = CreateBitmap(ptSize.x, ptSize.y, 1, 1, NULL);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;bmAndMem&lt;span style=""&gt;    &lt;/span&gt;= CreateCompatibleBitmap(hdcDest, ptSize.x, ptSize.y);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;bmSave&lt;span style=""&gt;      &lt;/span&gt;= CreateCompatibleBitmap(hdcDest, ptSize.x, ptSize.y);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Each DC must select a bitmap object to store pixel data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;bmBackOld&lt;span style=""&gt;   &lt;/span&gt;= (HBITMAP)SelectObject(hdcBack, bmAndBack);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;bmObjectOld = (HBITMAP)SelectObject(hdcObject, bmAndObject);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;bmMemOld&lt;span style=""&gt;    &lt;/span&gt;= (HBITMAP)SelectObject(hdcMem, bmAndMem);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;bmSaveOld&lt;span style=""&gt;   &lt;/span&gt;= (HBITMAP)SelectObject(hdcSave, bmSave);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Set proper mapping mode.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;SetMapMode(hdcTemp, GetMapMode(hdcDest));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Save the bitmap sent here, because it will be overwritten.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;BitBlt(hdcSave, 0, 0, ptSize.x, ptSize.y, hdcTemp, 0, 0, SRCCOPY);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Set the background color of the source DC to the color.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// contained in the parts of the bitmap that should be transparent&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;cColor = SetBkColor(hdcTemp, cTransparentColor);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Create the object mask for the bitmap by performing a BitBlt&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// from the source bitmap to a monochrome bitmap.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;BitBlt(hdcObject, 0, 0, ptSize.x, ptSize.y, hdcTemp, 0, 0, SRCCOPY);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Set the background color of the source DC back to the original color.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;SetBkColor(hdcTemp, cColor);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Create the inverse of the object mask.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;BitBlt(hdcBack, 0, 0, ptSize.x, ptSize.y, hdcObject, 0, 0, NOTSRCCOPY);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Copy the background of the main DC to the destination.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;BitBlt(hdcMem, nXDest, nYDest, ptSize.x, ptSize.y, hdcDest, nXSrc, nYSrc, SRCCOPY);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Mask out the places where the bitmap will be placed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;BitBlt(hdcMem, 0, 0, ptSize.x, ptSize.y, hdcObject, 0, 0, SRCAND);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Mask out the transparent colored pixels on the bitmap.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;BitBlt(hdcTemp, 0, 0, ptSize.x, ptSize.y, hdcBack, 0, 0, SRCAND);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// XOR the bitmap with the background on the destination DC.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;BitBlt(hdcMem, 0, 0, ptSize.x, ptSize.y, hdcTemp, 0, 0, SRCPAINT);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Copy the destination to the screen.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;BitBlt(hdcDest, nXDest, nYDest, ptSize.x, ptSize.y, hdcMem, nXSrc, nYSrc, SRCCOPY);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Delete the memory bitmaps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;DeleteObject(SelectObject(hdcBack, bmBackOld));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;DeleteObject(SelectObject(hdcObject, bmObjectOld));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;DeleteObject(SelectObject(hdcMem, bmMemOld));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;DeleteObject(SelectObject(hdcSave, bmSaveOld));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Delete the memory DCs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;DeleteDC(hdcMem);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;DeleteDC(hdcBack);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;DeleteDC(hdcObject);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;DeleteDC(hdcSave);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;DeleteDC(hdcTemp);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-3009516398605468236?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/3009516398605468236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=3009516398605468236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3009516398605468236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3009516398605468236'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/09/draw-transparent-bitmap-into.html' title='Draw a Transparent Bitmap into the destination DC in MFC'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-1291334565183205737</id><published>2008-09-09T16:52:00.001+06:00</published><updated>2008-09-09T16:59:32.610+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Draw a Disabled Bitmap into the destination DC in MFC</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; CEMCHotButton::DisabledBlt (HDC hdcDest, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nXDest, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nYDest, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nWidth, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nHeight, HBITMAP&lt;span style=""&gt;  &lt;/span&gt;hBitmap, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nXSrc, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nYSrc)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;ASSERT (hdcDest &amp;amp;&amp;amp; hBitmap);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;ASSERT (nWidth &gt; 0 &amp;amp;&amp;amp; nHeight &gt; 0);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Create a generic DC for all BitBlts&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;HDC hDC = CreateCompatibleDC (hdcDest);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;ASSERT (hDC);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (hDC)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: green;"&gt;// Create a DC for the monochrome DIB section&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;HDC bwDC = CreateCompatibleDC(hDC);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;ASSERT (bwDC);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (bwDC)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: green;"&gt;// Create the monochrome DIB section with a black and white palette&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: blue;"&gt;struct&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;BITMAPINFOHEADER&lt;span style=""&gt;  &lt;/span&gt;bmiHeader;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;RGBQUAD&lt;span style=""&gt;           &lt;/span&gt;bmiColors[2];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;} RGBBWBITMAPINFO = &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;{&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: green;"&gt;// a BITMAPINFOHEADER&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;&lt;span style="color: blue;"&gt;sizeof&lt;/span&gt;(BITMAPINFOHEADER),&lt;span style=""&gt; &lt;/span&gt;&lt;span style="color: green;"&gt;// biSize&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;nWidth,&lt;span style=""&gt;         &lt;/span&gt;&lt;span style="color: green;"&gt;// biWidth;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;nHeight,&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: green;"&gt;// biHeight;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;1,&lt;span style=""&gt;                          &lt;/span&gt;&lt;span style="color: green;"&gt;// biPlanes;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;1,&lt;span style=""&gt;                          &lt;/span&gt;&lt;span style="color: green;"&gt;// biBitCount&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;BI_RGB,&lt;span style=""&gt;         &lt;/span&gt;&lt;span style="color: green;"&gt;// biCompression;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;0,&lt;span style=""&gt;                          &lt;/span&gt;&lt;span style="color: green;"&gt;// biSizeImage;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;0,&lt;span style=""&gt;                          &lt;/span&gt;&lt;span style="color: green;"&gt;// biXPelsPerMeter;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;0,&lt;span style=""&gt;                          &lt;/span&gt;&lt;span style="color: green;"&gt;// biYPelsPerMeter;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;0,&lt;span style=""&gt;                          &lt;/span&gt;&lt;span style="color: green;"&gt;// biClrUsed;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;0&lt;span style=""&gt;                           &lt;/span&gt;&lt;span style="color: green;"&gt;// biClrImportant;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style=""&gt;                             &lt;/span&gt;},&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;{ 0x00, 0x00, 0x00, 0x00 },&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;{ 0xFF, 0xFF, 0xFF, 0x00 }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt;*&lt;span style=""&gt;     &lt;/span&gt;pbitsBW;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;HBITMAP hBitmapBW = CreateDIBSection (bwDC, (LPBITMAPINFO) &amp;amp;RGBBWBITMAPINFO, DIB_RGB_COLORS, &amp;amp;pbitsBW, NULL, 0);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;ASSERT (hBitmapBW);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (hBitmapBW)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;&lt;span style="color: green;"&gt;// Attach the monochrome DIB section and the bitmap to the DCs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;SelectObject (bwDC, hBitmapBW);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;SelectObject (hDC, hBitmap);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;&lt;span style="color: green;"&gt;// BitBlt the bitmap into the monochrome DIB section&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;BitBlt (bwDC, 0, 0, nWidth, nHeight, hDC, nXSrc, nYSrc, SRCCOPY);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;&lt;span style="color: green;"&gt;// Paint the destination rectangle in gray&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;FillRect (hdcDest, CRect (nXDest, nYDest, nXDest + nWidth, nYDest + nHeight), GetSysColorBrush (COLOR_3DFACE));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;&lt;span style="color: green;"&gt;// BitBlt the black bits in the monochrome bitmap into COLOR_3DHILIGHT bits in the destination DC&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;&lt;span style="color: green;"&gt;// The magic ROP comes from the Charles Petzold's book&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;HBRUSH hb = CreateSolidBrush (GetSysColor (COLOR_3DHILIGHT));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;HBRUSH oldBrush = (HBRUSH) SelectObject (hdcDest, hb);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;BitBlt (hdcDest, nXDest + 1, nYDest + 1, nWidth, nHeight, bwDC, 0, 0, 0xB8074A);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;&lt;span style="color: green;"&gt;// BitBlt the black bits in the monochrome bitmap into COLOR_3DSHADOW bits in the destination DC&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;hb = CreateSolidBrush (GetSysColor (COLOR_3DSHADOW));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;DeleteObject (SelectObject(hdcDest, hb));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;BitBlt (hdcDest, nXDest, nYDest, nWidth, nHeight, bwDC, 0, 0, 0xB8074A);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;DeleteObject (SelectObject (hdcDest, oldBrush));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;DeleteObject (hBitmapBW);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;VERIFY (DeleteDC (bwDC));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;VERIFY (DeleteDC(hDC));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-1291334565183205737?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/1291334565183205737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=1291334565183205737' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/1291334565183205737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/1291334565183205737'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/09/draw-disabled-bitmap-into-destination.html' title='Draw a Disabled Bitmap into the destination DC in MFC'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-8108387275268477906</id><published>2008-09-09T16:48:00.001+06:00</published><updated>2008-09-09T16:50:32.530+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Draw a Gradient Rectangle in MFC</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; CEMCHotButton::DrawGradientRect (CDC *pDC, CRect r, COLORREF cLeft, COLORREF cRight, BOOL bVertical)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CRect stepR;&lt;span style=""&gt;                                        &lt;/span&gt;&lt;span style="color: green;"&gt;// rectangle for color's band&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;COLORREF color;&lt;span style=""&gt;                                   &lt;/span&gt;&lt;span style="color: green;"&gt;// color for the bands&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;float&lt;/span&gt; fStep;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(bVertical)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;fStep = ((&lt;span style="color: blue;"&gt;float&lt;/span&gt;)r.Height())/255.0f;&lt;span style=""&gt;   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;fStep = ((&lt;span style="color: blue;"&gt;float&lt;/span&gt;)r.Width())/255.0f;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color: green;"&gt;// width of color's band&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;for&lt;/span&gt; (&lt;span style="color: blue;"&gt;int&lt;/span&gt; iOnBand = 0; iOnBand &lt;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: green;"&gt;// set current band&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(bVertical)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;SetRect(&amp;amp;stepR,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;r.left, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;r.top+(&lt;span style="color: blue;"&gt;int&lt;/span&gt;)(iOnBand * fStep),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;r.right, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style=""&gt;                   &lt;/span&gt;r.top+(&lt;span style="color: blue;"&gt;int&lt;/span&gt;)((iOnBand+1)* fStep));&lt;span style=""&gt;   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;SetRect(&amp;amp;stepR,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;r.left+(&lt;span style="color: blue;"&gt;int&lt;/span&gt;)(iOnBand * fStep), &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;r.top,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;r.left+(&lt;span style="color: blue;"&gt;int&lt;/span&gt;)((iOnBand+1)* fStep), &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;r.bottom);&lt;span style=""&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: green;"&gt;// set current color&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;color = RGB((GetRValue(cRight)-GetRValue(cLeft))*((&lt;span style="color: blue;"&gt;float&lt;/span&gt;)iOnBand)/255.0f+GetRValue(cLeft),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;(GetGValue(cRight)-GetGValue(cLeft))*((&lt;span style="color: blue;"&gt;float&lt;/span&gt;)iOnBand)/255.0f+GetGValue(cLeft),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;(GetBValue(cRight)-GetBValue(cLeft))*((&lt;span style="color: blue;"&gt;float&lt;/span&gt;)iOnBand)/255.0f+GetBValue(cLeft));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: green;"&gt;// fill current band&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;pDC-&gt;FillSolidRect(stepR,color);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-8108387275268477906?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/8108387275268477906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=8108387275268477906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/8108387275268477906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/8108387275268477906'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/09/draw-gradient-rectangle-in-mfc.html' title='Draw a Gradient Rectangle in MFC'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-755794824027624480</id><published>2008-09-09T16:43:00.002+06:00</published><updated>2008-09-09T16:47:22.626+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Convert an Icon to a Bitmap image in MFC</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;HBITMAP CHotButton::ConvertIconToBitmap(HICON hIcon)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CClientDC clientDC(&lt;span style="color: blue;"&gt;this&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CDC dc;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;dc.CreateCompatibleDC(&amp;amp;clientDC);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CRect rectButton;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;GetClientRect (&amp;amp;rectButton);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CSize sizeButton = rectButton.Size();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;//&lt;span style=""&gt;    &lt;/span&gt;bitmap size:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; cx = 0, cy = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (sizeButton.cy &lt;=16)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: green;"&gt;//&lt;span style=""&gt;    &lt;/span&gt;bitmap size:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;cx = 12;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;cy = 12;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;else&lt;/span&gt; &lt;span style="color: blue;"&gt;if&lt;/span&gt; (sizeButton.cy &gt; 16)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: green;"&gt;//&lt;span style=""&gt;    &lt;/span&gt;bitmap size:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;cx = 16;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;cy = 16;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CBitmap bmp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;bmp.CreateCompatibleBitmap(&amp;amp;clientDC, cx, cy);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CBitmap* pOldBmp = (CBitmap*)dc.SelectObject(&amp;amp;bmp);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;::DrawIconEx( dc.GetSafeHdc(), 0, 0, &lt;span style=""&gt;      &lt;/span&gt;hIcon, cx, cy, 0, (HBRUSH)RGB(192, 192, 192), &lt;span style=""&gt;          &lt;/span&gt;DI_NORMAL);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;dc.SelectObject( pOldBmp );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;dc.DeleteDC();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// return the image&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; ((HBITMAP)::CopyImage((HANDLE)((HBITMAP)bmp), IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE | LR_CREATEDIBSECTION));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-755794824027624480?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/755794824027624480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=755794824027624480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/755794824027624480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/755794824027624480'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/09/convert-icon-to-bitmap-image-in-mfc.html' title='Convert an Icon to a Bitmap image in MFC'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-8137517782661400190</id><published>2008-09-08T17:45:00.000+06:00</published><updated>2008-09-08T17:47:02.678+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Loading a bitmaps from a MFC DLL resource</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;HMODULE hPrevInst = AfxGetResourceHandle();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;HMODULE hDLLInstance = ::LoadLibrary( _T(&lt;span style="color: rgb(163, 21, 21);"&gt;"ESIMFCControls"&lt;/span&gt;));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; (hDLLInstance != NULL)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;AfxSetResourceHandle(hDLLInstance);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;CBitmap bmp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; ( bmp.LoadBitmap(MAKEINTRESOURCE(IDB_FILTER_BITMAP)) )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;CDC dcMemory;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;BITMAP bm;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;dcMemory.CreateCompatibleDC(pDC);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;dcMemory.SelectObject(&amp;amp;bmp);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: green;"&gt;// Get the height and width of the bitmap&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;bmp.GetBitmap(&amp;amp;bm);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;pDC-&gt;BitBlt(rcFilter.left, rcFilter.top, bm.bmWidth, bm.bmHeight, &amp;amp;dcMemory, 0, 0, SRCCOPY);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// Restore previous resource handle&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;          &lt;/span&gt;AfxSetResourceHandle(hPrevInst);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-8137517782661400190?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/8137517782661400190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=8137517782661400190' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/8137517782661400190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/8137517782661400190'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/09/loading-bitmaps-from-mfc-dll-resource.html' title='Loading a bitmaps from a MFC DLL resource'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-6479949199229011575</id><published>2008-08-29T21:07:00.002+06:00</published><updated>2008-09-08T17:57:23.899+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linked List'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Structures'/><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Delete All Elements from a Singly Linked List</title><content type='html'>&lt;p class="para"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;When we want to remove all the elements from a linked list, the natural inclination is to use a single pointer to traverse the list, freeing elements as we go. A problem arises, however, when this is implemented. Do we advance the pointer or free the element first? If we advance the pointer first, then the freeing is impossible because we overwrote the pointer to the element to be freed. If we free the element first, advancing the pointer is impossible because it involves reading the next pointer in the element that was just freed. The solution is to use two pointers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="para"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Example Code:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; DeleteAllElement( ListElement **head )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;ListElement *deleteMe = *head;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;while&lt;/span&gt;( deleteMe )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;ListElement *next = deleteMe-&gt;next;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;delete&lt;/span&gt; deleteMe;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;deleteMe = next;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;*head = NULL;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-6479949199229011575?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/6479949199229011575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=6479949199229011575' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/6479949199229011575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/6479949199229011575'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/08/delete-all-elements-from-singly-linked.html' title='Delete All Elements from a Singly Linked List'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-867616860798484801</id><published>2008-08-29T21:07:00.001+06:00</published><updated>2008-09-08T17:57:23.899+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linked List'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Structures'/><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Delete an item from a Singly Linked List</title><content type='html'>&lt;p class="first-para"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Because elements in a singly-linked list are maintained exclusively with links to the next element, any insertion or deletion of elements in the middle of a list requires modification of the previous element’s link. This may require a traversal of the list, because there’s no other way to find a preceding element. Special care must be taken when dealing with the head of the list.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Example Code:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue;"&gt;bool&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; DeleteElement( ListElement **head, ListElement *deleteMe )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;ListElement *elem = *head;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// special case for head&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;( deleteMe == *head )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;*head = elem-&gt;next;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;delete&lt;/span&gt; deleteMe;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; &lt;span style="color: blue;"&gt;true&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;while&lt;/span&gt;( elem )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;( elem-&gt;next == deleteMe )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: green;"&gt;/* elem is element preceding deleteMe */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;elem-&gt;next = deleteMe-&gt;next;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: blue;"&gt;delete&lt;/span&gt; deleteMe;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; &lt;span style="color: blue;"&gt;true&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;elem = elem-&gt;next;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: green;"&gt;// not found&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; &lt;span style="color: blue;"&gt;false&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-867616860798484801?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/867616860798484801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=867616860798484801' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/867616860798484801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/867616860798484801'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/08/delete-item-from-singly-linked-list.html' title='Delete an item from a Singly Linked List'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-8485688771771463365</id><published>2008-08-29T21:06:00.002+06:00</published><updated>2008-09-08T17:57:23.899+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linked List'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Structures'/><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Finding an item from a Singly Linked List</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Operations on any but the first element of a linked list require traversal of some elements of the list, and you must always check for the end of the list.&lt;span style="background: yellow none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;ListElement Find( ListElement head, &lt;span style="color: blue;"&gt;int&lt;/span&gt; data )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;while&lt;/span&gt;( head != NULL &amp;amp;&amp;amp; head.data != data )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;head = head.next;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; head;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-8485688771771463365?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/8485688771771463365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=8485688771771463365' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/8485688771771463365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/8485688771771463365'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/08/finding-item-from-singly-linked-list.html' title='Finding an item from a Singly Linked List'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-2952983813023948166</id><published>2008-08-29T21:06:00.001+06:00</published><updated>2008-09-08T17:57:23.900+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linked List'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Structures'/><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Tracking the Head Element of a Singly Linked List</title><content type='html'>&lt;p class="first-para"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;The head element of a singly-linked list must always be tracked; otherwise, the list will be lost in memory. This means that the pointer or reference to the head of the list must be updated when a new element is inserted ahead of the first element or when the existing first element is removed from the list. Tracking the head element becomes a problem when you alter the list inside a function or method, because the caller must be made aware of the new head element.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Example Code:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue;"&gt;bool&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; InsertInFront( ListElement **head, &lt;span style="color: blue;"&gt;int&lt;/span&gt; data )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;ListElement *newElem = &lt;span style="color: blue;"&gt;new&lt;/span&gt; ListElement;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;( !newElem ) &lt;span style="color: blue;"&gt;return&lt;/span&gt; &lt;span style="color: blue;"&gt;false&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;newElen-&gt;data = data;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;*head = newElem;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; &lt;span style="color: blue;"&gt;true&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-2952983813023948166?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/2952983813023948166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=2952983813023948166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/2952983813023948166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/2952983813023948166'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/08/tracking-head-element-of-singly-linked.html' title='Tracking the Head Element of a Singly Linked List'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-4802862416323086003</id><published>2008-08-29T20:57:00.004+06:00</published><updated>2008-09-08T17:57:23.900+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linked List'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Structures'/><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Linked List</title><content type='html'>&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;There are three basic kinds of linked list: singly-linked lists, doubly-linked lists and circularly-linked lists. The singly-linked lists is in first figure and doubly-linked lists is in second figure is below.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rIt-aFJfUpk/SLgPPct2kdI/AAAAAAAAAAg/pKBlDWX3u5M/s1600-h/SinglyLinkedList.JPG"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_rIt-aFJfUpk/SLgPPct2kdI/AAAAAAAAAAg/pKBlDWX3u5M/s320/SinglyLinkedList.JPG" alt="" id="BLOGGER_PHOTO_ID_5239954924526539218" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rIt-aFJfUpk/SLgPxsmeH0I/AAAAAAAAAAo/RvzsUPa8rBo/s1600-h/DoublyLinkedList.JPG"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_rIt-aFJfUpk/SLgPxsmeH0I/AAAAAAAAAAo/RvzsUPa8rBo/s320/DoublyLinkedList.JPG" alt="" id="BLOGGER_PHOTO_ID_5239955512906096450" border="0" /&gt;&lt;/a&gt;&lt;span style=""&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1026" type="#_x0000_t75" style="'width:243pt;height:55.5pt'"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\NEELAA~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image003.png" title="DoublyLinkedList"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;/span&gt;&lt;/p&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Declaration:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue;"&gt;typedef&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;span style="color: blue;"&gt;struct&lt;/span&gt; ListElement&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;struct&lt;/span&gt; ListElement *next;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;data;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;} ListElement;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue;"&gt;typedef&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;span style="color: blue;"&gt;struct&lt;/span&gt; DoublyLinkedList&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;struct&lt;/span&gt; DoublyLinkedList *next;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;struct&lt;/span&gt; DoublyLinkedList *prev;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;data;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;} DoublyLinkedList;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;/span&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-4802862416323086003?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/4802862416323086003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=4802862416323086003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4802862416323086003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4802862416323086003'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/08/linked-list.html' title='Linked List'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_rIt-aFJfUpk/SLgPPct2kdI/AAAAAAAAAAg/pKBlDWX3u5M/s72-c/SinglyLinkedList.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-3427177128792417704</id><published>2008-08-21T15:31:00.004+06:00</published><updated>2008-08-21T15:39:11.098+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>How to post self pop-up menu for CHtmlView in MFC</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Just override the &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;CHtmlView::&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;OnShowContextMenu funcion and return S_OK.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;HRESULT CWebBrowserView::OnShowContextMenu(DWORD dwID, LPPOINT ppt, LPUNKNOWN pcmdtReserved, LPDISPATCH pdispReserved)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;span style=""&gt;          &lt;/span&gt;CMenu menu;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt; pMenuID = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;span style=""&gt;          &lt;/span&gt;VERIFY(menu.LoadMenu(IDR_WEBBROWSER));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;span style=""&gt;          &lt;/span&gt;CMenu* pPopup = menu.GetSubMenu(pMenuID);&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;ASSERT(pPopup != NULL);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;pPopup-&gt;TrackPopupMenu(TPM_LEFTALIGN |TPM_RIGHTBUTTON, ppt-&gt;x, ppt-&gt;y, &lt;span style="color:blue;"&gt;this&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; S_OK;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color:green;"&gt;// Don't call the base version&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;color:green;"   &gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style=""&gt;/*return CHtmlView::OnShowContextMenu(DWORD dwID, LPPOINT ppt, &lt;/span&gt;LPUNKNOWN pcmdtReserved, LPDISPATCH pdispReserved);*/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style=";font-family:Verdana;font-size:100%;"  &gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-3427177128792417704?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/3427177128792417704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=3427177128792417704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3427177128792417704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3427177128792417704'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/08/how-to-post-self-pop-up-menu-for.html' title='How to post self pop-up menu for CHtmlView in MFC'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-964367923712693243</id><published>2008-08-21T15:29:00.002+06:00</published><updated>2008-08-21T15:39:11.099+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>How to disable the default pop-up menu for CHtmlView in MFC</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Read the article: &lt;a href="http://support.microsoft.com/kb/236312"&gt;http://support.microsoft.com/kb/236312&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;br /&gt;&lt;b&gt;OR&lt;/b&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Just override the &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;CHtmlView::&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;OnShowContextMenu funcion and return S_OK.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;HRESULT CWebBrowserView::OnShowContextMenu(DWORD dwID, LPPOINT ppt, LPUNKNOWN pcmdtReserved, LPDISPATCH pdispReserved)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; S_OK;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color:green;"&gt;// Don't call the base version&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:100%;color:green;"   &gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style=""&gt;/*return CHtmlView::OnShowContextMenu(DWORD dwID, LPPOINT ppt, &lt;/span&gt;LPUNKNOWN pcmdtReserved, LPDISPATCH pdispReserved);*/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Verdana;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-964367923712693243?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/964367923712693243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=964367923712693243' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/964367923712693243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/964367923712693243'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/08/how-to-disable-default-pop-up-menu-for.html' title='How to disable the default pop-up menu for CHtmlView in MFC'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-2186158388714997092</id><published>2008-04-15T16:34:00.002+06:00</published><updated>2008-04-15T16:36:55.263+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>BE CAREFUL!!!</title><content type='html'>&lt;p style="font-family: verdana;font-family:verdana;" &gt;&lt;span style="font-size:100%;"&gt;(01) Always write optimize and good code in WM_PAINT, WM_MOUSEMOVE and WM_CTLCOLOR event handler. In these three event handlers is always called and it’s tough to debug if any bug exists.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-family: verdana;font-family:Verdana;font-size:100%;"  &gt;(02) When you got the device context by GetDC() api, you must make sure to release the device context by ReleaseDC() api after painting.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-2186158388714997092?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/2186158388714997092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=2186158388714997092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/2186158388714997092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/2186158388714997092'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/04/be-careful.html' title='BE CAREFUL!!!'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-8845704656706868112</id><published>2008-04-10T13:58:00.000+06:00</published><updated>2008-09-09T17:03:11.896+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>DECLARE_DYNCREATE problem</title><content type='html'>&lt;div class="entry"&gt;      &lt;div class="snap_preview"&gt;&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;When you want a class, who will dynamically created by CreateObject(), then you must have a default constructor. Otherwise you got “&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Compiler Error C2512 - &lt;span&gt;no appropriate default constructor available”.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-8845704656706868112?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/8845704656706868112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=8845704656706868112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/8845704656706868112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/8845704656706868112'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/04/declaredyncreate-problem.html' title='DECLARE_DYNCREATE problem'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-3353685723318621933</id><published>2008-04-10T13:55:00.000+06:00</published><updated>2008-04-10T13:58:41.686+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Forward Declaration problem</title><content type='html'>&lt;div class="entry"&gt;      &lt;div class="snap_preview"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;When you made a class &lt;strong&gt;child&lt;/strong&gt; who is inherit from class &lt;strong&gt;parent&lt;/strong&gt; and if &lt;strong&gt;parent&lt;/strong&gt; class has some forward declaration then you received a “Compiler Error C2512 - &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;missing type specifier”. &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The solution is remove the forward declaration from the &lt;strong&gt;parent&lt;/strong&gt; class header.&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-3353685723318621933?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/3353685723318621933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=3353685723318621933' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3353685723318621933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3353685723318621933'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/04/forward-declaration-problem.html' title='Forward Declaration problem'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-3609866198794764455</id><published>2008-03-11T15:44:00.000+06:00</published><updated>2008-03-11T15:46:15.492+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>4 Steps to Recreate a Control (when there is no other workaround)</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;To recreate a &lt;strong&gt;&lt;span style="font-family: Verdana; font-weight: normal;"&gt;Control&lt;/span&gt;&lt;/strong&gt; you must:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;1. Store rectangle and &lt;em&gt;&lt;b style=""&gt;&lt;span style="font-family: Verdana;"&gt;previous window in Z order&lt;/span&gt;&lt;/b&gt;&lt;/em&gt; (to keep Tab work normally)&lt;br /&gt;2. Destroy &lt;strong&gt;&lt;span style="font-family: Verdana; font-weight: normal;"&gt;Control&lt;/span&gt;&lt;/strong&gt; by DestroyWindow;&lt;br /&gt;3.Create &lt;strong&gt;&lt;span style="font-family: Verdana; font-weight: normal;"&gt;Control&lt;/span&gt;&lt;/strong&gt; by CreateWindow();&lt;span style=""&gt;        &lt;/span&gt;// put here your styles.&lt;br /&gt;4. move window to proper Z order by:&lt;br /&gt;SetWindowPos(&amp;amp;wndPrev, 0,0,0,0, SWP_NOMOVE_SWP_NOSIZE|SWP_NOZCTIVATE);&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-3609866198794764455?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/3609866198794764455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=3609866198794764455' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3609866198794764455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3609866198794764455'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/03/4-steps-to-recreate-control-when-there.html' title='4 Steps to Recreate a Control (when there is no other workaround)'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-3595234727294199414</id><published>2008-03-11T15:39:00.001+06:00</published><updated>2008-03-11T15:41:11.138+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>The second argument of the DYNAMIC_DOWNCAST macro cannot be const for the IBM platform</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In Windows platform DYNAMIC_DOWNCAST macro can take const or non const pointer as second argument.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;But the second argument of DYNAMIC_DOWNCAST macro cannot be const for the IBM platform.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-3595234727294199414?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/3595234727294199414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=3595234727294199414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3595234727294199414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3595234727294199414'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/03/second-argument-of-dynamicdowncast.html' title='The second argument of the DYNAMIC_DOWNCAST macro cannot be const for the IBM platform'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-881421761271514488</id><published>2008-03-11T15:37:00.000+06:00</published><updated>2008-03-11T15:38:55.026+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Generic'/><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>How to become a good programmar</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;I’m putting some suggestions here for the fresh graduates and the college freshmen on how to become a good programmer.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In my own definition, a fresh graduate good/skilled programmer should have the followings:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Strong skill of one or more      good languages like C++, Java and C#.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ol start="1" type="a"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Must       have strong skills with control structures. Don’t mess up if you’re asked       to print out triangle or other shaped piles of ‘x’s with loops.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Must       have strong skills with recursion. You must know how to transform a       looped task into a recursive one and vice versa, for example:       multiplication using addition recursively.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;If       your language is C++, you must know how to play with pointers and       references.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Understand       pass by value and reference.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Clearly       understand scopes and memory allocation, de-allocation. Know when a       object is destroyed and when to destroy.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Know       the usage of all operators including bit-wise ones.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.75in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="2" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;In-depth knowledge of OOP.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;ol start="2" type="1"&gt;&lt;ol start="1" type="a"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Only       being able to write classes and doing encapsulation and inheritance is       not what you should call good OOP.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Clearly       understand how function overloading, overriding, polymorphism works. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Clearly       understand how constructor/destructor (if any) works with inheritance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Clearly       know the difference and use of Interfaces and Abstract classes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Know       how to overload operators. Why and how copy constructor is defined/used.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.75in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="3" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Know common data structures&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;ol start="3" type="1"&gt;&lt;ol start="1" type="a"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;At       least know the common data structures like stack, queue, linked list,       doubly linked list (know circular version of all of them) and trees.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Be       a skilled implementer of any of those, have clear concept of push, pop,       add, delete, peek etc method works on those data structures.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.75in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="4" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Know most common algorithms      well&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;ol start="4" type="1"&gt;&lt;ol start="1" type="a"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;You       don’t need to memorize pseudo codes line by line but you need to have       clear concept of most common algorithms of sorting(bubble, quick, merge,       heap, bucket, etc), searching (including DFS, BFS), etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;As       a fresher you must know their time and space complexities, pitfalls and       improvements (if any).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.75in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="5" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;General computing concepts:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;ol start="5" type="1"&gt;&lt;ol start="1" type="a"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Know       processes and threads, how are they related to each other, how to program       them, etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Understand       TCP/IP: Don’t think it’s only the network administrator’s task to       understand TCP/IP. All programmers ever doing any network or web       programming should have clear TCP/IP concepts and understanding.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.75in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="6" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Be skilled in debugging in      IDE:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;ol start="6" type="1"&gt;&lt;ol start="1" type="a"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Be       skilled in any or many of Visual Studio/Visual Studio.Net, Eclipse,       Netbeans, KDevelop, etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Know       how to debug your code.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.75in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="7" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Have basic knowledge of      Software Engineering and SDLC.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Some advice for college freshmen:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Start with C++ or Java,      avoid starting with scripting languages:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ol start="1" type="a"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;If       you’re learning programming for the first time, avoid starting with       scripting or loosely typed languages like: PHP, ASP, Perl, etc or Visual       Basic. It may destroy your understanding of program execution, data       types, memory allocation, etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Start       with C++ or Java. If you want to me to be specific, start with C++,       you’ll love it for the rest of your life.. :) It’ll be easier for you to       learn (almost) any other language (like: C#, PHP, ASP, etc).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;If       you ask, do you need to know C to start with C++? Or should you learn C       first and then C++? The answer is ‘no’.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.75in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="2" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;If you want to be good      programmer, keep on coding at least 20 hours a week for next 4 years :).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="3" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Never stop learning new      technologies that are coming out everyday.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Know something’s of many things but be master of one. Know at least one language very well.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-881421761271514488?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/881421761271514488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=881421761271514488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/881421761271514488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/881421761271514488'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/03/how-to-become-good-programmar.html' title='How to become a good programmar'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-7191280424391051667</id><published>2008-03-11T15:36:00.000+06:00</published><updated>2008-03-11T15:37:37.730+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Replace Color of a bitmap with a new color</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1. Fill the DC with the new color&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;2. Draw the bitmap transparently into the DC with the Old Color (the color to be replaced) as the mask color&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Example Code :&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;BOOL CMFCBitmap::ReplaceColor(COLORREF crOld, COLORREF crNew)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;CDC memDC;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;CBitmap bmpTrans;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;CBitmap *pOldBitmap;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;POINT ptSize;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;BOOL bResult;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Create one DC to hold temporary data.&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;bResult = memDC.Attach(::CreateCompatibleDC(NULL));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;(bResult == FALSE)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;return&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; FALSE;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Compute the bitmap dimension&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;(!&lt;span style="color: blue;"&gt;this&lt;/span&gt;-&gt;GetBitmapSize(&amp;amp;(ptSize.x), &amp;amp;(ptSize.y)))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;return&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; FALSE;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Convert from device&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;memDC.DPtoLP(&amp;amp;ptSize, 1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;BITMAP bm;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;GetObject(m_hBitmap, &lt;span style="color: blue;"&gt;sizeof&lt;/span&gt;(BITMAP), (LPSTR)&amp;amp;bm);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;CMFCBitmap bmp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;(bmp.CopyBitmap(m_hBitmap, MFCBI_NORMAL) == FALSE)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;return&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; FALSE;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Create the transparent bitmap&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;bmpTrans.Attach(&lt;span style="color: blue;"&gt;this&lt;/span&gt;-&gt;Detach());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Attach(bmp.Detach());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Select the bitmap&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;pOldBitmap = (CBitmap*)memDC.SelectObject(&amp;amp;bmpTrans);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;CRect rc(0,0, ptSize.x, ptSize.y);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;memDC.FillSolidRect(rc, crNew);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;DrawTransparent(&amp;amp;memDC, 0,0, crOld);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;memDC.SelectObject(pOldBitmap);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Destroy the previous bitmap&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;DeleteObject(Detach());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;HBITMAP hMaskedBitmap = (HBITMAP)bmpTrans.Detach();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Attach to the transparent bitmap&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;(!Attach(hMaskedBitmap))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;DeleteObject((HGDIOBJ)hMaskedBitmap);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;return&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; FALSE;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;return&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; TRUE;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-7191280424391051667?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/7191280424391051667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=7191280424391051667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/7191280424391051667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/7191280424391051667'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/03/replace-color-of-bitmap-with-new-color.html' title='Replace Color of a bitmap with a new color'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-7501110639925599789</id><published>2008-03-11T12:54:00.001+06:00</published><updated>2008-09-03T16:01:31.647+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>#DEFINE VS ENUM revisited</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Tried to declare an enum inside a class like CEMCHotButton:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt;font-family:Verdana;color:blue;"  &gt;enum&lt;/span&gt;&lt;span style="font-size: 10pt;font-family:Verdana;" &gt; TextAlignment&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt;font-family:Verdana;" &gt;{&lt;/span&gt;&lt;/p&gt; &lt;p style="text-indent: 0.5in;" mce_style="text-indent:0.5in;"&gt;&lt;span style="font-size: 10pt;font-family:Verdana;" &gt;TA_LEFT = 0&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt;font-family:Verdana;" &gt;};&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;And there were 100 errors showing up without any traceable reason.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Finally I found that, a same DEFINE is declared in WINGDI.H header file and it’s made a conflict with my DEFINE value.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt;font-family:Verdana;" &gt;Now the problem is, define cannot be put under a namespace or any scope, therefore I have to change the enum type name.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10pt;font-family:Verdana;" &gt;This is forcing me to name TA_LEFT, to TF_LEFT.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-7501110639925599789?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/7501110639925599789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=7501110639925599789' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/7501110639925599789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/7501110639925599789'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2008/03/define-vs-enum-revisited.html' title='#DEFINE VS ENUM revisited'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-8279347460854943702</id><published>2007-12-31T12:44:00.000+06:00</published><updated>2007-12-31T12:46:37.737+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Safe memory  deletion</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Always Set NULL when delete a memory. Otherwise the program may crash when the variable further referenced.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: fuchsia;"&gt;Example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: fuchsia;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;delete&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; m_pComboArgs;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;m_pComboArgs = NULL;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-8279347460854943702?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/8279347460854943702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=8279347460854943702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/8279347460854943702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/8279347460854943702'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2007/12/safe-memory-deletion.html' title='Safe memory  deletion'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-7398568720746855851</id><published>2007-12-31T11:31:00.000+06:00</published><updated>2007-12-31T12:44:35.467+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>CBN_SELCHANGE and CBN_CLOSEUP message handler of CComboBox  class made conflict</title><content type='html'>&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The MFC CComboBox is weird. The CBN_SELCHANGE and CBN_CLOSEUP message handler doesn’t call proper sequence. Sometimes the CBN_CLOSEUP call first time and later CBN_SELCHANGE. It’s made confusion. So carefully write code in those two event handler.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-7398568720746855851?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/7398568720746855851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=7398568720746855851' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/7398568720746855851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/7398568720746855851'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2007/12/cbnselchange-and-cbncloseup-message.html' title='CBN_SELCHANGE and CBN_CLOSEUP message handler of CComboBox  class made conflict'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-5519565847004375337</id><published>2007-12-31T11:29:00.000+06:00</published><updated>2007-12-31T11:30:50.555+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Change Default Dialog Font of CDialog</title><content type='html'>&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Sometimes it is desirable to change the default font specified in dialog templates (usually "MS Sans Serif", 8 pts.) at runtime (dynamically). For example, you may want to increase the font size to make it more readable under higher screen resolutions. MFC library contains a class &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;"&gt;CDialogTemplate&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;, that serves exactly this purpose, but Microsoft has not bothered to include its description in standard MFC reference. This is how you can use this class in your code:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="more"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1. Place the following string somewhere in your "StdAfx.h" file:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style=""&gt;&lt;tt&gt;&lt;span style="font-family: Verdana; color: navy;"&gt;#include&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;tt&gt;&lt;span style="font-family: Verdana; color: rgb(153, 0, 0);"&gt; &lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;tt&gt;&lt;span style="font-family: Verdana; color: blue;"&gt;&lt;afxpriv.h&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p&gt;&lt;span style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;2. Override &lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;"&gt;DoModal()&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; function in your dialog class:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style=""&gt;&lt;/span&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;int&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; CSimpleDialog::DoModal()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;CDialogTemplate dlt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&lt;span style=""&gt;             &lt;/span&gt;nResult;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color: green;"&gt;// load dialog template&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (!dlt.Load(MAKEINTRESOURCE(CSimpleDialog::IDD))) &lt;span style="color: blue;"&gt;return&lt;/span&gt; -1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color: green;"&gt;// set your own font, for example "Arial", 10 pts.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;dlt.SetFont(&lt;span style="color: maroon;"&gt;"Arial"&lt;/span&gt;, 10);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color: green;"&gt;// get pointer to the modified dialog template&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;LPSTR pdata = (LPSTR)GlobalLock(dlt.m_hTemplate);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color: green;"&gt;// let MFC know that you are using your own template&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;m_lpszTemplateName = NULL;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;InitModalIndirect(pdata);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color: green;"&gt;// display dialog box&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;nResult = CDialog::DoModal();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color: green;"&gt;// unlock memory object&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;GlobalUnlock(dlt.m_hTemplate);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; nResult;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-5519565847004375337?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/5519565847004375337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=5519565847004375337' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5519565847004375337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5519565847004375337'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2007/12/change-default-dialog-font-of-cdialog.html' title='Change Default Dialog Font of CDialog'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-9194019926262507510</id><published>2007-12-31T11:14:00.000+06:00</published><updated>2007-12-31T11:29:03.633+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Set Default font to any custom made MFC control</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;LOGFONT lf;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;int&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; nRet = GetObject(GetStockObject(DEFAULT_GUI_FONT), &lt;span style="color: blue;"&gt;sizeof&lt;/span&gt;(LOGFONT), &amp;amp;lf);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; (nRet)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Set the Default font to the Custom window control&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;m_hotListCtrl.SetFont(&amp;amp;lf);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-9194019926262507510?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/9194019926262507510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=9194019926262507510' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/9194019926262507510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/9194019926262507510'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2007/12/set-default-font-to-any-custom-made-mfc.html' title='Set Default font to any custom made MFC control'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-5267848277855373381</id><published>2007-12-05T13:22:00.000+06:00</published><updated>2007-12-05T13:38:42.063+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Using TrackMouseEvent to find out when the Mouse Leaves from the Window</title><content type='html'>&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:100%;"&gt;Using TrackMouseEvent is pretty simple. When the mouse enters the window you want to track, you call track mouse event telling it to inform you when the mouse leaves. When it does, it will send a WM_MOUSELEAVE message to that window.&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;span style=";font-family:Verdana;color:black;"  &gt;Sample code:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="font-size:85%;"&gt;&lt;tt&gt;&lt;span style="color: rgb(0, 153, 0);font-family:Verdana;" &gt;/&lt;span style="font-size:100%;"&gt;/ HotEdit.h changes&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;span style="font-size:100%;"&gt;&lt;tt&gt;&lt;span style="color: rgb(153, 0, 0);font-family:Verdana;" &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size:100%;"&gt;&lt;tt&gt;&lt;span style="color: rgb(153, 0, 0);font-family:Verdana;" &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/tt&gt;&lt;span class="codekeyword"&gt;&lt;span style=";font-family:Verdana;color:blue;"  &gt;class&lt;/span&gt;&lt;/span&gt;&lt;tt&gt;&lt;span style="color: rgb(153, 0, 0);font-family:Verdana;" &gt; &lt;/span&gt;&lt;/tt&gt;&lt;tt&gt;&lt;span style="font-family:Verdana;"&gt;CHotEdit &lt;span style="color: rgb(153, 0, 0);"&gt;: &lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;span class="codekeyword"&gt;&lt;span style=";font-family:Verdana;color:blue;"  &gt;public&lt;/span&gt;&lt;/span&gt;&lt;tt&gt;&lt;span style="font-family:Verdana;"&gt; CEdit&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);font-family:Verdana;" &gt;{&lt;br /&gt;&lt;/span&gt;&lt;/tt&gt;&lt;span class="codekeyword"&gt;&lt;span style=";font-family:Verdana;color:blue;"  &gt;protected&lt;/span&gt;&lt;/span&gt;&lt;tt&gt;&lt;span style="color: rgb(153, 0, 0);font-family:Verdana;" &gt;:&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;BOOL m_bMouseTracking;&lt;br /&gt;afx_msg LRESULT OnMouseLeave(WPARAM wParam, LPARAM lParam);&lt;br /&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;...&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;tt&gt;&lt;span style="font-family:Verdana;"&gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size:100%;"&gt;&lt;tt&gt;&lt;span style="color: rgb(153, 0, 0);font-family:Verdana;" &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);font-family:Verdana;" &gt;// HotEdit.cpp changes&lt;/span&gt;&lt;/tt&gt;&lt;tt&gt;&lt;span style="color: rgb(153, 0, 0);font-family:Verdana;" &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size:100%;"&gt;&lt;tt&gt;&lt;span style="color: rgb(153, 0, 0);font-family:Verdana;" &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;BEGIN_MESSAGE_MAP(CHotEdit, CEdit)&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt; ON_MESSAGE(WM_MOUSELEAVE, OnMouseLeave)&lt;br /&gt;END_MESSAGE_MAP()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size:100%;"&gt;&lt;tt&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;CHotEdit::CHotEdit()&lt;br /&gt;{&lt;br /&gt;&lt;span style=""&gt; &lt;/span&gt;m_bMouseTracking = FALSE;&lt;br /&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size:100%;"&gt;&lt;tt&gt;&lt;span style="color: rgb(153, 0, 0);font-family:Verdana;" &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;LRESULT CHotEdit::OnMouseLeave(WPARAM wParam, LPARAM lParam)&lt;br /&gt;{&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;m_bMouseTracking = FALSE;&lt;o:p&gt;&lt;/o:p&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;span class="codekeyword"&gt;&lt;span style=";font-family:Verdana;color:blue;"  &gt; return&lt;/span&gt;&lt;/span&gt;&lt;tt&gt;&lt;span style="font-family:Verdana;"&gt; TRUE;&lt;br /&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size:100%;"&gt;&lt;tt&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/tt&gt;&lt;span class="codekeyword"&gt;&lt;span style=";font-family:Verdana;color:blue;"  &gt;void&lt;/span&gt;&lt;/span&gt;&lt;tt&gt;&lt;span style="font-family:Verdana;"&gt; CHotEdit::OnMouseMove(UINT nFlags, CPoint point)&lt;br /&gt;{&lt;br /&gt;&lt;/span&gt;&lt;/tt&gt;&lt;span class="codekeyword"&gt;&lt;span style=";font-family:Verdana;color:blue;"  &gt;if&lt;/span&gt;&lt;/span&gt;&lt;tt&gt;&lt;span style="font-family:Verdana;"&gt; (!m_bMouseTracking)&lt;br /&gt;{&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;  TRACKMOUSEEVENT tme;&lt;br /&gt;tme.cbSize = &lt;/span&gt;&lt;/tt&gt;&lt;span class="codekeyword"&gt;&lt;span style=";font-family:Verdana;color:blue;"  &gt;sizeof&lt;/span&gt;&lt;/span&gt;&lt;tt&gt;&lt;span style="font-family:Verdana;"&gt;(TRACKMOUSEEVENT);&lt;br /&gt;tme.dwFlags = TME_LEAVE;&lt;br /&gt;tme.hwndTrack = &lt;/span&gt;&lt;/tt&gt;&lt;span class="codekeyword"&gt;&lt;span style=";font-family:Verdana;color:blue;"  &gt;this&lt;/span&gt;&lt;/span&gt;&lt;tt&gt;&lt;span style="font-family:Verdana;"&gt;-&gt;m_hWnd;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size:100%;"&gt;&lt;span class="codekeyword"&gt;&lt;span style=";font-family:Verdana;color:blue;"  &gt;  if&lt;/span&gt;&lt;/span&gt;&lt;tt&gt;&lt;span style="font-family:Verdana;"&gt; (::_TrackMouseEvent(&amp;amp;tme))&lt;br /&gt;{&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;   m_bMouseTracking = TRUE;&lt;br /&gt;}&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size:100%;"&gt;&lt;tt&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style=""&gt;&lt;/span&gt; }&lt;br /&gt;&lt;br /&gt;CEdit::OnMouseMove(nFlags, point);&lt;br /&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;tt&gt;&lt;span style="font-family:Verdana;"&gt;}&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-5267848277855373381?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/5267848277855373381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=5267848277855373381' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5267848277855373381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5267848277855373381'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2007/12/using-trackmouseevent-to-find-out-when.html' title='Using TrackMouseEvent to find out when the Mouse Leaves from the Window'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-5834849701095336403</id><published>2007-12-05T12:37:00.000+06:00</published><updated>2007-12-05T12:45:50.550+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>How to subclass CListBox and CEdit inside of CComboBox</title><content type='html'>&lt;p class="MsoNormal" style="margin: 11.25pt 0in 3.75pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;color:black;"  &gt;SUMMARY&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:black;"   &gt;While it is simple to directly subclass a combo box control, it is not simple to subclass the edit or list box inside a combo box. The problem is that it is difficult to get the HWNDs of the child controls in a portable manner.&lt;br /&gt;&lt;br /&gt;One safe way to subclass the internal edit and list box controls is to subclass them in the WM_CTLCOLORXXX messages. Because Win32 sends separate WM_CTLCOLOREDIT and WM_CTLCOLORLISTBOX messages, these messages are safe and easy ways to get the HWNDs of the child controls of the combo box.&lt;br /&gt;&lt;br /&gt;Below is a CSuperComboBox class, which is an MFC implementation of this method. Because MFC routes all the WM_CTLCOLOR messages to OnCtlColor, the subclassing takes place there. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 11.25pt 0in 3.75pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;color:black;"  &gt;MORE INFORMATION&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:black;"   &gt;Use ClassWizard to derive a class from CComboBox and add message handlers for WM_CTLCOLOR and WM_DESTROY. Then manually edit the header file to add the data members, m_edit and m_listbox. Finally, copy the code from the message handlers below: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:black;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;color:black;"  &gt;Sample code:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:black;"   &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:black;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:green;"   &gt;// SuperComboBox.h : header file&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:blue;"   &gt;class&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; CSuperComboBox : public CComboBox&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:blue;"   &gt;public&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;  &lt;/span&gt;CEdit&lt;span style=""&gt;      &lt;/span&gt;m_edit;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;  &lt;/span&gt;CListBox&lt;span style=""&gt;   &lt;/span&gt;m_listbox;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:blue;"   &gt;protected&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;  &lt;/span&gt;afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;  &lt;/span&gt;afx_msg &lt;span style="color:blue;"&gt;void&lt;/span&gt; OnDestroy();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:green;"   &gt;// SuperComboBox.cpp : implementation file&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;HBRUSH CSuperComboBox::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (nCtlColor == CTLCOLOR_EDIT)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;  &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;// Edit control&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;if (m_edit.GetSafeHwnd() == NULL)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;                   &lt;/span&gt;m_edit.SubclassWindow(pWnd-&gt;GetSafeHwnd());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;  &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style="color:blue;"&gt;else if&lt;/span&gt; (nCtlColor == CTLCOLOR_LISTBOX)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;  &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;//ListBox control&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;if (m_listbox.GetSafeHwnd() == NULL)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;                   &lt;/span&gt;m_listbox.SubclassWindow(pWnd-&gt;GetSafeHwnd());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;  &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;  &lt;/span&gt;HBRUSH hbr = CComboBox::OnCtlColor(pDC, pWnd, nCtlColor);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; hbr;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;              &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:blue;"   &gt;void&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt; CSuperComboBox::OnDestroy()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (m_edit.GetSafeHwnd() != NULL)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;m_edit.UnsubclassWindow();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (m_listbox.GetSafeHwnd() != NULL)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;m_listbox.UnsubclassWindow();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style=""&gt;  &lt;/span&gt;CComboBox::OnDestroy();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-5834849701095336403?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/5834849701095336403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=5834849701095336403' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5834849701095336403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/5834849701095336403'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2007/12/how-to-subclass-clistbox-and-cedit.html' title='How to subclass CListBox and CEdit inside of CComboBox'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-3558210541417986780</id><published>2007-11-11T15:12:00.000+06:00</published><updated>2007-11-11T15:13:45.858+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Good Code</title><content type='html'>&lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;01.&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; Never allocate memory like this way&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; MyFunc(CString strText) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{ &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;    &lt;span style="color: blue;"&gt;int&lt;/span&gt; size =  strText.GetLength();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;    TCHAR* pszNewText = &lt;span style="color: blue;"&gt;new&lt;/span&gt; TCHAR[size];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;    &lt;span style="background: yellow none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;// Good practice is: TCHAR* pszNewText = &lt;span style="color: blue;"&gt;new&lt;/span&gt; TCHAR[size+1];&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;02. &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Never just delete memory say &lt;i&gt;&lt;span style="color: blue;"&gt;delete&lt;/span&gt; pMyObj&lt;/i&gt;, always set &lt;i&gt;pMyObj = NULL&lt;/i&gt; after delete&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;03. &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana; font-weight: normal;"&gt;Although it doesn't make much difference, but always use the [] operator after using delete for arrays.&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green; font-weight: normal;"&gt;// Always better to use [] after delete for array of any sort of datatypes&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;delete&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;[] myarray; &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;04.&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; Avoid Using In/Out Parameters.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;That is Avoid using the same parameter as Input as well as output parameter.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Bad code:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;BOOL GetMergedCellRect(CRect&amp;amp; rect)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;   rect.top++; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;  rect.bottom--;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;  &lt;span style="color: blue;"&gt;Return&lt;/span&gt; TRUE;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Good Code:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;BOOL GetMergedCellRect(CRect rect, &lt;span style="color: green;"&gt;/*OUT*/&lt;/span&gt;CRect&amp;amp; mergedRect)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;mergedRect = rect;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;mergedRect.top++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;mergedRect.bottom--;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Although if u have a method such as InflateRect, DeflateRect, whose names  are obviously and clearly stating you to do some operation on the passed rectangle, in those cases you can off course use the same parameter as input and output.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;05.&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; I think it would be a good idea to &lt;i style=""&gt;&lt;span style="color: blue;"&gt;typedef&lt;/span&gt;&lt;/i&gt; the parent class as Super inside the child class.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;class&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; wxEdit : &lt;span style="color: blue;"&gt;public&lt;/span&gt; wxWindow&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;typedef&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; wxWindow Super;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;public&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;    &lt;span style="color: blue;"&gt;void&lt;/span&gt; OnPaint()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;   {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;      Super::OnPaint();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;   }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;This technique is used in Symbian OS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;06. &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Although we did some ugly hacking because of the circumstances, but the following is not acceptable. You cannot allow your base class to know about your child classes,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;For example, you should never declare a child class a friend of your base class unless absolutely necessary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;class&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; CHotListCtrlCellBase : &lt;span style="color: blue;"&gt;public&lt;/span&gt; CObject&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;friend&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; CHotListCtrlURLCell;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;friend&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; CHotListCtrlCellCombo;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;friend&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; CHotListCtrlCellCheck;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;06. &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;All of us may be confused or do mistake while using memset() function.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Here is an example that shows correct way of using memset():&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;TCHAR* pBuff = new TCHAR[256];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;s&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;memset( pBuff, 0, 256);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/s&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;memset( pBuff, 0, 256*sizeof(TCHAR));&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-3558210541417986780?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/3558210541417986780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=3558210541417986780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3558210541417986780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3558210541417986780'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2007/11/good-code.html' title='Good Code'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-4081425778594812488</id><published>2007-11-04T14:55:00.000+06:00</published><updated>2007-11-04T19:20:15.745+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>List of BAD Coding Conventions</title><content type='html'>&lt;p style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;1.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Using unnecessary double pointers...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;GetNodeName(Node** ppNode)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;   return  *ppNode-&gt;GetName();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;U should only use a double pointer when you are allocating your memory with &lt;span style="color: blue;"&gt;new&lt;/span&gt; or malloc() inside a method and passing a pointer as argument to get the newly allocated memory address.&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;BOOL COM_CREATE_OBJECT(ComObj** pObj)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;  ComObj* pNewObj = new ComObj;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;  &lt;span style="color: blue;"&gt;if&lt;/span&gt;(pNewObj)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; *pObj = pNewObj;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;  return TRUE;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;return FALSE;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;void&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; main()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt; &lt;/span&gt;ComObj** pObj = NULL;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt; &lt;/span&gt;// in this case you have to use double pointer. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;span style=""&gt;  &lt;/span&gt;COM_CREATE_OBJECT(&amp;amp;pObj);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 0.25in;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;2. Converting TCHAR to WCHAR (or WCHAR equivalent), or TCHAR to char (or char equivalent), by simple type casting..&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;WCHAR* nodeName = xmlPareser-&gt;GetNodeName();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;TCHAR* convertedName = (TCHAR*) nodeName;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;3. Assuming WCHAR, or wchar_t to be a &lt;span style="color: blue;"&gt;typedef&lt;/span&gt; of &lt;span style="color: blue;"&gt;unsigned short&lt;/span&gt;...&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;4. Using... wierd macro function names such as Z(), W(), X().. etc..&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;WCHAR* fileNameW = GetFileNameW();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;TCHAR* fileName = X(fileNameW)... // here x is a function which converts wchar to tchar...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;5&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;. &lt;strong&gt;&lt;span style="font-family: Verdana;"&gt;Returning temporary pointers as return type&lt;/span&gt;&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;TCHAR* convertUnicodeToTChar(WCHAR* str)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;    TCHAR buf[255];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;    wcstombs(buf, str);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; // returning temporary pointer ... very dangerous indeed.., maybe u can&lt;br /&gt;// use a global or member variables in this case..&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;return&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; buf;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;6. &lt;span style=""&gt;&lt;/span&gt;Doing Too Much Processing (such as running a big for loop) in OnMouseMove(), OnEraseBkGnd, OnPaint(), OnCmdUI() etc.&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-4081425778594812488?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/4081425778594812488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=4081425778594812488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4081425778594812488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/4081425778594812488'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2007/11/list-of-bad-coding-conventions.html' title='List of BAD Coding Conventions'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-3192783164222572376</id><published>2007-11-04T14:51:00.000+06:00</published><updated>2007-11-04T15:54:23.473+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Porting Guidelines</title><content type='html'>&lt;ol start="1" type="1"&gt;&lt;li class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Be      careful with use of lower-case letter and upper-case letter concerning the      file names because Unix platforms are case sensitive.&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;    &lt;br /&gt;     &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;If the name of the file is VSessionManager.h&lt;br /&gt;    &lt;br /&gt;     Bad Code:&lt;br /&gt;         #include "vsessionmanger.h"&lt;br /&gt;    &lt;br /&gt;     Good Code:&lt;br /&gt;         #include "VSessionManger.h"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Do      not use #pragma once. Use #if !defined() #endif&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;    &lt;br /&gt;     &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Bad Code:&lt;br /&gt;         #pragme once&lt;br /&gt;    &lt;br /&gt;     Goode Code:&lt;br /&gt;         #if !defined(__MYHEADER_H__)&lt;br /&gt;         #define __MYHEADER_H__&lt;br /&gt;         ...&lt;br /&gt;         #endif&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;To      precise a path for include file, use '/' instead of '\', even on Windows.&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;    &lt;br /&gt;     &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Bad Code:&lt;br /&gt;         #include "..\CmdInterpreter\CmdInterpreter.h"&lt;br /&gt;    &lt;br /&gt;     Good Code:&lt;br /&gt;         #include "../CmdInterpreter/CmdInterpreter.h"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;When      manipulating string path, do not use '\' as a separator, because the      separator can be '/'. You should use the defined variable      PATH_SEPARATOR_STR.&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;     &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;     Bad Code:&lt;br /&gt;         ptr = strrchr(font_path, '\\');&lt;br /&gt;    &lt;br /&gt;     Good Code:&lt;br /&gt;         ptr = strrchr(font_path, PATH_SEPARATOR_STR);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Do      not declared a variable within a block if you need to use it after this      block.&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;     &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;     Bad Code:&lt;br /&gt;         for( int i = 0; i &lt; nb; i++ ) {…}&lt;br /&gt;         ...&lt;br /&gt;         for( i = 0; i &lt; 10; i++ ) {…}&lt;br /&gt;    &lt;br /&gt;     Good Code:&lt;br /&gt;         int i;&lt;br /&gt;         for( i = 0; i &lt; nb; i++ ) {…}&lt;br /&gt;         ...&lt;br /&gt;         for( i = 0; i &lt;&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Do      not create a function without type.&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;    &lt;br /&gt;     &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Bad Code:&lt;br /&gt;         toto();&lt;br /&gt;    &lt;br /&gt;     Good Code:&lt;br /&gt;         void toto() or int toto();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Do      not use the following CString functions:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Append       - &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;you have to use the += operator&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;IsEmpty       - &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;you have to do a comparison by using GetSize&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;LoadString(HINSTANCE       hInstance, UINT nID)&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; - you can use only       LoadString(UINT nID)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style=""&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Do      not use the following CStringArray functions:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;GetCount       - &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;you have to use GetSize&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style=""&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Do      not use the following CPoint functions:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;SetPoint       - &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;you should use the x and y members&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style=""&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Do      not use the following CSize functions:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;SetSize       - &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;you should use the cx and cy members&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style=""&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Do      not use the following CMap functions:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;GetSize&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; -       you should use GetCount&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style=""&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Do      not use the following CRect functions:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;MoveToXY&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The      code automatically generated by Visual Studio in the Message Map are not      correct. You have to remove the "&amp;amp;classname::"&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;    &lt;br /&gt;     &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Bad Code:&lt;br /&gt;         ON_LBN_SELCHANGE(IDC_LANGUAGE_LIST,      &amp;amp;CLanguageSelDlg::OnLButtonDownLanguageList)&lt;br /&gt;    &lt;br /&gt;     Good Code:&lt;br /&gt;         ON_LBN_SELCHANGE(IDC_LANGUAGE_LIST,      OnLButtonDownLanguageList)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;When using &lt;strong&gt;&lt;span style="font-family: Verdana;"&gt;DYNAMIC_DOWNCAST &lt;/span&gt;&lt;/strong&gt;we need to      make sure we use &lt;strong&gt;&lt;span style="font-family: Verdana;"&gt;DECLARE_DYNAMIC&lt;/span&gt;&lt;/strong&gt;      and &lt;strong&gt;&lt;span style="font-family: Verdana;"&gt;IMPLEMENT_DYNAMIC&lt;/span&gt;&lt;/strong&gt;      for the base class and the dereived class. Otherwise, there will be a      compile error in unix platforms.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;When      called a C method from a C++ method, use the extern C convention.&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;br /&gt;    &lt;br /&gt;     &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Bad Code:&lt;br /&gt;         toto.h:    int myfunction();&lt;br /&gt;         toto.c:    int myfunction() { return 1;      }&lt;br /&gt;         toto_called.cpp:    void myfunction2() {      int i = myfunction(); }&lt;br /&gt;    &lt;br /&gt;     Good Code:&lt;br /&gt;         toto.h:&lt;br /&gt;             #ifdef __cplusplus&lt;br /&gt;             extern "C" {&lt;br /&gt;             #endif&lt;br /&gt;             int myfunction();&lt;br /&gt;             #ifdef __cplusplus&lt;br /&gt;             }&lt;br /&gt;             #endif&lt;br /&gt;         toto.c:    int myfunction() { return 1;      }&lt;br /&gt;         toto_called.cpp:    void myfunction2() {      int i = myfunction(); }&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-3192783164222572376?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/3192783164222572376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=3192783164222572376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3192783164222572376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/3192783164222572376'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2007/11/porting-guidelines.html' title='Porting Guidelines'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-7172452854986570852</id><published>2007-10-25T16:19:00.000+06:00</published><updated>2007-10-25T16:26:58.980+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Remove the WS_BORDER style for a CEdit control programmatically?</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:10;color:blue;"   &gt;void&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt; CMyEdit::RemoveBorder() &lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;{&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;          DWORD dwStyle = ::GetWindowLong(m_hWnd, GWL_EXSTYLE);&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;          &lt;span style="color:blue;"&gt;If &lt;/span&gt;(dwStyle &amp;amp; WS_EX_CLIENTEDGE)&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;          {        &lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;                   ModifyStyleEx(WS_EX_CLIENTEDGE,0);  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;        &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;                   SetWindowPos(NULL, 0, 0, 0, 0, SWP_FRAMECHANGED |  SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER );    &lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;          }&lt;u1:p&gt;&lt;/u1:p&gt;       &lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;span style=";font-family:Verdana;font-size:10;"  &gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-7172452854986570852?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/7172452854986570852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=7172452854986570852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/7172452854986570852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/7172452854986570852'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2007/10/remove-wsborder-style-for-cedit-control.html' title='Remove the WS_BORDER style for a CEdit control programmatically?'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-2517605035849995337</id><published>2007-10-25T16:10:00.000+06:00</published><updated>2007-12-31T13:14:09.455+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Common Class Declaration Mistake</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;class&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; CComboCellTypeArgs : &lt;span style="color: blue;"&gt;public&lt;/span&gt; HotListCtrlCellTypeArgs&lt;br /&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;public&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;:&lt;br /&gt;         CComboCellTypeArgs(&lt;span style="color: blue;"&gt;void&lt;/span&gt;);&lt;br /&gt;         &lt;span style="color: blue;"&gt;virtual&lt;/span&gt; ~CComboCellTypeArgs(&lt;span style="color: blue;"&gt;void&lt;/span&gt;);&lt;u1:p&gt;&lt;/u1:p&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;        &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;u1:p&gt; &lt;/u1:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;public&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;:&lt;br /&gt;         CStringArray m_arrString;&lt;br /&gt;}&lt;u1:p&gt;&lt;/u1:p&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;u1:p&gt;&lt;/u1:p&gt;If u just missed to write a semicolon after class declaration, u will be get some horrible compilation error like the following:&lt;u1:p&gt;&lt;/u1:p&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;u1:p&gt; &lt;/u1:p&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: red;"&gt;error C2533: 'HotListCtrlCellTypeArgs::{ctor}' : constructors not allowed a return type&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;u1:p&gt; &lt;/u1:p&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana;"&gt;So don’t miss to write the semicolon after class declaration!!!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-2517605035849995337?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/2517605035849995337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=2517605035849995337' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/2517605035849995337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/2517605035849995337'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2007/10/common-class-declaration-mistake.html' title='Common Class Declaration Mistake'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-8029743356964928856</id><published>2007-10-25T16:02:00.000+06:00</published><updated>2007-10-25T16:08:47.745+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Some Constants doesn’t work at VC++ 6.0.</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: green;"&gt;Solution:&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;span style="color: green;"&gt;// For Visual C++ 6.0 Compatible and also Upper Version&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;span style="color: blue;"&gt;#ifndef&lt;/span&gt;&lt;span style=""&gt; VK_OEM_MINUS&lt;u1:p&gt;&lt;/u1:p&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: gray;"&gt; #define VK_OEM_MINUS      0xBD   // '-' any country&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#endif&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#ifndef&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; VK_OEM_PERIOD&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: gray;"&gt; #define VK_OEM_PERIOD     0xBE   // '.' any country&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#endif&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;&lt;u1:p&gt;#ifndef&lt;/u1:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; IDC_HAND&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt; &lt;span style="color: blue;"&gt;#define&lt;/span&gt; IDC_HAND MAKEINTRESOURCE(32649)&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;#endif&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-8029743356964928856?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/8029743356964928856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=8029743356964928856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/8029743356964928856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/8029743356964928856'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2007/10/some-constants-doesnt-work-at-vc-60.html' title='Some Constants doesn’t work at VC++ 6.0.'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-2175916928705431610</id><published>2007-10-25T15:48:00.000+06:00</published><updated>2007-10-25T16:01:51.293+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>ON_WM_TIMER() message map probelm at Win64 Build</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;At VC++ 6.0 ON_WM_TIMER() Function prototype is &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;" lang="FR"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;" lang="FR"&gt;    afx_msg void OnTimer (UINT &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;" lang="FR"&gt;nIDEvent&lt;b&gt;);&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Which get a compilation error when u builds it at Windows 64-bit. So use the new function prototype is &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;" lang="FR"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;" lang="FR"&gt;    afx_msg void OnTimer (UINT_PTR &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;" lang="FR"&gt;nIDEvent&lt;b&gt;);&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-2175916928705431610?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/2175916928705431610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=2175916928705431610' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/2175916928705431610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/2175916928705431610'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2007/10/onwmtimer-message-map-probelm-at-win64.html' title='ON_WM_TIMER() message map probelm at Win64 Build'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3610508910218973823.post-1251660579479465960</id><published>2007-10-25T02:41:00.000+06:00</published><updated>2007-10-25T15:46:14.846+06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MFC'/><title type='text'>Set Default Font to any MFC Control</title><content type='html'>&lt;div class="ForumPostBodyArea"&gt;          &lt;div id="ctl00_ctl01_bcr_SinglePostView___PostViewWrapper" class="ForumPostContentText"&gt;           &lt;p&gt;// Set the Default font to the Window&lt;br /&gt;&lt;/p&gt;&lt;p&gt; ::SendMessage(this-&gt;m_hWnd, WM_SETFONT, WPARAM(GetStockObject(DEFAULT_GUI_FONT)), LPARAM(TRUE));&lt;/p&gt;            &lt;/div&gt;          &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3610508910218973823-1251660579479465960?l=neelaakash24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neelaakash24.blogspot.com/feeds/1251660579479465960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3610508910218973823&amp;postID=1251660579479465960' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/1251660579479465960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3610508910218973823/posts/default/1251660579479465960'/><link rel='alternate' type='text/html' href='http://neelaakash24.blogspot.com/2007/10/set-default-font-to-any-mfc-control.html' title='Set Default Font to any MFC Control'/><author><name>Abdullah Al Mamun (Aakash)</name><uri>http://www.blogger.com/profile/13775126145867186030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_rIt-aFJfUpk/R1ZK9AVhSYI/AAAAAAAAAAM/34EBhE1o4Ms/S220/enigma-wallpaper27-s.jpg'/></author><thr:total>0</thr:total></entry></feed>
