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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

扱えるテキストファイルの最大行数は1億行

扱えるテキストファイルの行数の限界が1億行なのが秀丸エディター。その他⇒動作環境⇒環境にて、編集可能な最大行数が10万行~1億行で設定できる(32bitの場合は1000万行まで)。1億行のテキストファ …

no image

CADツール第2弾

 PMツールに続いてのCADツール第2弾を思いつきました。今まで、いくつかの企画があり、手をつけたものもあるのですが、いまいち乗り気にならなくてポシャってました。シリーズものとして継続したいところなの …

no image

PMサーバー版リリース

ペーパーモデル化ツールサーバー版の宣伝。 詳しくは、kensetsu21のこちらのサイト(PDF)をご覧あれ。 クライアントは、サーバー上の共有フォルダにファイルを ドラッグ&ドロップするだけ。 サー …

PDFアレコレをVer3としてリニューアルしたのは、GUI操作をちゃんできるようにしたかったからだ

PDFアレコレをVer3としてリニューアル。 Ver3.00 2020/5/24 ・起動画面をプレビュー画面(PDFの描画画面)に変更して、起動画面からすべての操作(画像変換・ページ編集・テキスト抽出 …

Teigha改めODAでDWGをDXFに変換するプログラムをつくってみよう!【Part.3】

Part.2の続編。今回はODAプロジェクトがどんな構造になっているのかを、逐一つまびらかにこんこんと説明してみる。 【1.MFCプロジェクトの作成】 ファイル⇒新規作成⇒プロジェクトで、MFCアプリ …