最新の更新情報

 
このブログ「吟遊詩人の戯言」 の記事検索...

C# & .net Compact Framework2.0にてhDCの取得

関連記事

2006年11月25日 20時01 旧ブログより

 Compact Frameworkで、hDCの取得を行う方法


今日、終日かかって、訳のわからん不具合に付き合わされたわけですが
その中でも、一番時間を取られたのが、これ
っんたく、hDC、簡単に取れるようにしとけ、っつうの>M$

public class Hogehoge{ 
  [DllImport("coredll.dll")] 
  private static extern IntPtr GetDC(IntPtr hwnd); 
  [DllImport("coredll.dll")] 
  private static extern IntPtr ReleaseDC(IntPtr hwnd, IntPtr hdc);

  protected Control m_Parent; 
  public Control Parent { get { return m_Parent;} set {m_Parent = value; }} 

  public void func() 
  { 
      IntPtr tmpHdc = GetDC(m_Parent.Handle); 

      Graphics g = Graphics.FromHdc(tmpHdc); 

      /*お絵かきお絵かき*/ 

     g.Dispose(); 

     ReleaseDC(m_Parent.Handle, tmpHdc); 
   } 
} 

でも、お絵かきは、OnPaint()のイベント内でやったほうがさらによかったり…

これ、文字列の文字数とフォントから、
文字列描画用のピクセル幅が欲しかったために、実装したものであったり…

 
 
 
 

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">