CAD日記

AutoCAD,DXF,DWG,SXFなどCADのことから、仮想通貨や投資関係、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

テキストファイルの最大行数

【2018/12/24追記】以下の記事も参考になるかな。 扱えるテキストファイルの最大行数は1億行 バカでかいテキストファイルを作る必要があって、結果約2GBにもなった。 CADから出力するんだけど、 …

no image

PDFの用紙サイズはポイントで表現されている

PDFの用紙サイズをiTexSharpで取得したら、mmでもinchでもない、 謎の数値が得られたので、調べてみたらポイントという単位だった。 ポイントとは、WordやEXCELで文字の大きさを指定す …

no image

レイヤ付きPDFを出力する弊害

Illustratorという高価なアプリを使ってPDFを出力すると、PDFにレイヤが付いてしまって非表示にしたはずのレイヤが表示されて困ったなという事象に2回遭遇したので以下に記録。共通しているのが、 …

no image

アプリでzip圧縮と解凍をやりたくてzlibを組み込んでみたんだけど。。

でかいファイルは、圧縮してコンパクトに扱いたくなる。 テキスト形式で定義されているファイルをアプリで読み書きする。 テキストは圧縮すれば1/5くらいになるので、その結果小さくなった ファイルをアプリの …

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

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