最新の更新情報



雨雲の動き

お天気

      
 
吟遊詩人の戯言 内の検索...
 
 
 

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



キーワード : C#, 画像処理



キーワードに関連する最新記事

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

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


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

C#:
  1. public class Hogehoge{
  2.   [DllImport("coredll.dll")]
  3.   private static extern IntPtr GetDC(IntPtr hwnd);
  4.   [DllImport("coredll.dll")]
  5.   private static extern IntPtr ReleaseDC(IntPtr hwnd, IntPtr hdc);
  6.  
  7.   protected Control m_Parent;
  8.   public Control Parent { get { return m_Parent;} set {m_Parent = value; }}
  9.  
  10.   public void func()
  11.   {
  12.       IntPtr tmpHdc = GetDC(m_Parent.Handle);
  13.  
  14.       Graphics g = Graphics.FromHdc(tmpHdc);
  15.  
  16.       /*お絵かきお絵かき*/
  17.  
  18.      g.Dispose();
  19.  
  20.      ReleaseDC(m_Parent.Handle, tmpHdc);
  21.    }
  22. }


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

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