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()のイベント内でやったほうがさらによかったり…

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください