掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
コントロールは親ウィンドウを持っていません、というエラーの対策方法 (ID:1325)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いえいえ、ファイルは見つかりました。そして参考にしています。 ただ、MyMemo=Class(TMemo)に Canvas: TControlCanvas; して、 constructor TMyMemo.Create(AOwner: TComponent); begin inherited Create(AOwner); Canvas := TControlCanvas.Create; end; procedure TMyMemo.CreateWnd; var DC: HDC; begin inherited CreateWnd; DC := GetDC(Handle); Canvas.Handle := GetDC(DC); { 処理 } end; やってみましたが、OSの再起動後にエラーが出たのです。今から思えば他のコードロジックに問題があったのかもしれませんが、現在は、 procedure TMyMemo.{ 処理名 }; var DC: HDC; begin if Parent <> nil then begin DC := GetDC(Handle); Canvas.Handle := DC; { Canvasに対する描画処理 } Canvas.FreeHandle; ReleaseDC(Handle, DC); end; end; としています。 「解決」としましたが、解決したようなしてないような不安な気持ちはどうしてなんでしょう? とにかく、色々勉強になりましたし、ありがとうございました。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.