CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

ソフト開発

CEditでドラッグ&ドロップ

投稿日:

プログラミングから離れてしばらく経ってしまった。
プロジェクト管理をやっていると、プログラミングをやることができなくなる。
対人間の仕事の合間にプログラムをやることは、おいらには無理だった。
プログラミングはじっくりと腰を据えて取り組まなければならず、
途中で邪魔が入ると、効率が低下して最悪全てが破綻する恐れがある。
工程管理や関係者との折衝の合間に行えるものではないという結論に至った。
昔取った杵柄ではないが、今でもそれなりのプラグラムを書ける自信はある。
しかし、現役でバリバリとやっているメンバーにはかなわない。
配下に優秀なプログラマーがいるので、まかせておけば安心だ。
中途半端においらが手出しすると、おいらの仕事がまわらなくなるのだ。
一応、最低限の口出しはするようにしているけれど、
あまり言い過ぎるとボロが出るので注意が必要だ。
とは言え、たまにはプログラムをやらなければいけない状況がやってくる。
新人の指導である。
実践的なプログラミングをやったことのない人間に、プログラミングを教える。
VC++2005、MFCプログラミングだ。
.Netプログラミング全盛のこの時代に、MFCというのはやや時代錯誤な感はあるが、
これもうちの課に配属された宿命だと思ってあきらめてほしい。
いくつか出した課題のうちの1つ。
「エクスプローラからのドラッグ&ドロップを受け取るCEditコントロールをつくる」
昔作ったことがあるから、簡単にできると思ったら思わぬ落とし穴があった。
少しヒントを出して作らせておいたら、案の定うまくできない。
仕方ないから、こうすれば出来るんだよという正解例を自分で作ろうとしたら、
うまく動かなかった。
片手間にやる新人指導のつもりだったのに、本業がおろそかになる事態となった。
こんなはずではないのにという焦り、指導しているのに正解がわからないという屈辱。
その日にやらなければならないことを先送りして、約1時間の時間を費やしたが、
とうとうその日中に動くことはなかった。
こういうときは、一晩寝かせてみるに限る。
夜眠りに就く前に、ツラツラと考えていたら解決策に行き当たった。
翌日、ちょいちょいとプログラムを直したら動いた。
プログラミングっておもしろいな、と再確認した出来事だ。
前置きが長くなってした。本題に入ろう。
おいらがやっていたときの開発環境はVC++6.0だった。
2005にしてしばらくのあいだはプログラムをやっていたのだが、
使いこなすまでには至らなかったのだ。
ダイアログテンプレートの作り方、クラスや変数の追加方法が大きく異なる。
片や日本語、片や英語、全然言葉も異なるので、両者がつながることがなかった。
【VC6の場合】
VC6のプロパティ
【VC2005の場合】
VC2005のプロパティ
もちろん、これでだけで目的を果たすことはできない。
概要は以下の通り。
・CEditを基本クラスとするサブクラス「CMyEdit」を作成する
・CMyEditでドロップメッセージを受け取るために、OnDropFilesをオーバーライドする
・OnDropFiles内で、ファイル名を取得してSetWindowTextで自分に貼り付ける
ネタ元はこちら。
ただし、ネタ元における以下処理は、不要のようだ。
CDropDlg::OnInitDialog() 内の、m_MyEdit.SubclassDlgItem(IDC_MY_EDIT,this); 
何を意味する処理なのかよくわからないが、これを実行すると死ぬ。

-ソフト開発
-

執筆者:


comment

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

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

関連記事

no image

イテレータ(Iterator)

あるコンポーネントで初めて出会いました。コンポーネントがバージョンアップされたときに、オブジェクト指向的な作りに一新されて、いろいろ変わったのですが中でもイテレータという訳の分からないものに遭遇して、 …

PDFアレコレがVectorに掲載されたよん

Vectorのカテゴリとしては文書作成⇒PDF。PDFアレコレというフリーソフトが掲載されたよん。

PDFアレコレで捺印まわりのバグ修正

PDFアレコレをバージョンアップ。約3か月ぶり。 Ver3.02 2020/10/24 ・捺印などのPDF編集操作後にファイルを閉じて開いて、再編集すると以前編集していたPDFが復活していた。閉じると …

秀丸マクロがおもしろくて練習のため2つのマクロを作ってみた

秀丸マクロは、以下のようにキーボード操作の結果を記録して再生することはやっていた。 Shift+F1:キー操作の記録開始/終了 Shift+F2:キー操作の再生 テキストファイル1行分のテキスト編集操 …

PDFiumでPDFを描画してみたけど、こんなに簡単にできちゃっていいのかよ!

PDFiumで画像化とテキスト抽出が容易にできることは前回まででわかっていたので、今回は描画に取り組んでみた。