2010年05月

2010年05月31日

移動・複写の縮尺フィット、白黒印刷 など

PrintDlg2バグトラック70の対応として、非サーチレイヤの淡色印刷と、ついでに白黒印刷・白黒赤印刷の機能を印刷ダイアログに追加した。
 この設定は図面ファイルにではなく、レジストリに記録する事にしています。 淡色印刷では必ず淡色で印刷されるフィーチャの上に実体色で印刷されるフィーチャがかぶさるようにしています。
 白黒(赤)印刷はプリンタードライバの設定を変更するのではなく、Paoからの送り込みの色を白黒(赤)で印刷するものです。
 白黒赤印刷は、ちょっと昔に黒と赤の2色コピー機があり、これが非常に便利が良かったのを思い出し、乗っけてみました。 赤で印刷するかどうかはフィーチャの実体色を厳密に評価します。 つまりカラーパネルの赤のみ赤で印刷します。 

CloseAllMIバグトラック60と64の対応として、ファイルタブの図面名の前にファイルアイコンを表示するようにしたのと、ファイルメニューに「全て閉じる」を追加しました。





FitScaleBtnバグトラック63の対応として、選択オプションに「縮尺フィット」ボタンを追加しました。
 移動・複写で、対象フィーチャをマウスが掴んでフローティング状態になった瞬間にこのボタンは出現します。
 ボタンの上段はフローティングフィーチャが持っている縮尺で、下段はアクティブな図面の縮尺です。 他図面に持っていく場合と、書き込みグループを変えた場合でコピー元と縮尺が違う場合にこのボタンをクリックするとフローティングフィーチャをその縮尺に合わせてくれます。






ho_cad at 22:15|PermalinkComments(2)TrackBack(0)

2010年05月30日

メニューバーのエディットボックス内で四則演算 他

EditCalc数値入力用のエディットボックス内で四則演算が出来るようにしました。
多項可で、例えば(100+200)*(50-20)/3+10のような数式もOKです。 但し数式が長くなるとボックスからはみ出して見えづらくなりますが・・・
 X,Yの項目を別々に入れる場合は、500/250,300/200 のように入力します。 スペースは2.7時代から ,(カンマ)に変換していますので使えません。ピリオドのダブルヒットがカンマに変換される機能は残しています。
 数式処理は表編集用にいずれやろうと思っていたのですが、バグトラック対応でとりあえず四則計算のみ先にやりました。

MouseIcon 背景色が黒い場合に、属性取得とハイパーリンクのアイコンの文字部分が同色で見えなくなっていました。
 画面の反転色を取るように修正しました。

SvyWarning座標系未設定の状態での測点作成にはこの警告を発するようにしました。

 それにしても、使う人の目が増えるといろいろと気づかなかった部分が出てくるものだと・・・ 感心しきりです・・・ 

気晴らしに、懐かしいものシリーズ復活!!
IMG_0038
これ、中耕除草機といいます。
 田植後3週間たち、水田内の雑草がだんだんすさまじくなってきたので、昨日除草剤をやったのですが、少なめにやったので効かない可能性もあり、1週間待って効いていなかったら来週このマシンの出番です。
 このマシン、田んぼの中をひたすら押して歩きます。 すると田んぼの土が掻き回されて雑草が底に沈むというすぐれものです。
 約40年前くらいに使っていて、いまでもこのとおり健在です。 無農薬というのは現実問題難しいのですが、低農薬を目指しています。

Img_0039ちなみに、我が家にはこれよりさらに古い竹製の1条用の除草機も残っています。
 どなたか安芸高田産コシヒカリがいる方いらっしゃいませんか?安くしておきますけど・・・ 


ho_cad at 15:37|PermalinkComments(4)TrackBack(0)

2010年05月29日

マウスでのパン方法を追加

 [Shift]+マウスドラッグでのパンに加えて、ホイールボタンのみでパンできるようにした。 オプションダイアログの設定タブで「マウスセンターボタンをメニュー選択に使用する」にチェックが入っていれば今までどおりで、チェックが入っていなければ[Shift]キーの監視はやめ、代わりにホイールボタンのダウンでパンを開始するようにした。
 この種の画面パンは、操作を開始する時点でパン操作である事が確定していなければならず、よくあるソフトのパターンでは、先にツールボタンを押してパンが開始される事を確定してからマウス操作を監視する(昔は割込とか呼んでいた)ということになります。 Paoはボタンの替わりに[Shift]キーを使っていました。 
 しかし視点を変えて見ると、ホイールボタン押下が必ずパン操作の開始と決めてやれば一発パンが可能になる。 ホイールボタンはメニュー選択かパンかのどちらか1つが使えるということにしました。
 これで[Shift]キーが空くケースが出来たので、2.7のようにGetTypeに使おうかどうか考え中。

ho_cad at 18:35|PermalinkComments(6)TrackBack(0)

2010年05月28日

バグトラック53まで進んだ 角度フィットのOn/Offなど

FitAngleBtn回転移動などのときに角度フィットが邪魔になる時が確かにあるので、On/Offの切り替えボタンをツールパネルに追加した。
 ボタンアイコンを考えるのが結構めんどくさいのです。
 回転の移動・複写のときに角度種別が切り替わらなかったのも修正した。
 昨日のまとめて印刷の変更はまたちょっとだけ変更した。
PrintDlg2 印刷範囲の設定を、現在の図面のみか、タブ番号での範囲指定に変更。 このほうが現在の図面をワンタッチで印刷できるので・・・
 図面を選択する では今までどおり選択ダイアログが出現する。 
 元々この印刷ダイアログはWindowsAPIのコモンダイアログなのですが、コントロールのIDからハンドルを取って無理やりPao用に変更して使ってます。 自作するよりこっちが小さいので・・・ こんな使い方いいのだろうか・・・ まあでもエクセルなんかも多分こんなことをしているのでは・・・
 完全自動での連続印刷は意外と難しくて、スプーラー(winSpool)からプリンタの稼動状態を調べて、空いたくらいで次の図面を送り込もうとやってみたのですが、うまく状態を検出できず、結局送り込み後7秒待って次を送り込む事にしました。 お恥ずかしい(´-д-;`)
 余裕が出来たらもう一回トライするつもりです。 溜まっている印刷ドキュメントの数で判断したらいいかも・・・

ho_cad at 18:19|PermalinkComments(6)TrackBack(0)

2010年05月27日

バグトラック25まで 連続印刷を改良

BugTrack25の対応として、印刷倍率もファイルに保存するようにし、これで印刷設定がファイルに存在することになったので、連続印刷を見直した。
NewPopupMenuいままでの「まとめて印刷」は「印刷」に一本化した。 このメニューを選択した時点で、全体で1個の印刷設定ダイアログを表示し、この設定によって全ての図面を印刷するようにした。
PrintDlg
 用紙サイズや方向・倍率の情報は各図面が持っているので、このダイアログでOKボタンをクリックすると、対象の図面を一気に印刷する。
 エクセルなどのように、印刷中は状態表示のダイアログを表示し、途中でキュンセルを押したら印刷中止とした。 今度は1図面ごとにプリンター設定ダイアログは出ないので、この機能が無いと30枚くらいの印刷をかけたときに途中でやめたくても あぁ---- になってしまうので・・・
 このプログラムをする途中で、テストで複数図面を何回も開くのがしんどくなり、新規図面の作成方法ダイアログで、最近使ったファイルも複数選択できるようにし、せっかくファイルブラウザに登録フォルダ機能を復活したので、ここでも使えるようにした。
NewPlanDlg ついでに、アイコンも表示するようにした。 分かりやすくなった。
 
 いろいろやっているうちに実行ファイルがとうとう6Mを超えてしまった。 正規版に向けてはもっとでかくなると思うのでライブラリー方式にしないと・・・  Jww用画像圧縮でド-んとでかくなった。 せっかくでかくなったので、hoc形式の画像も圧縮したい。

ho_cad at 20:43|PermalinkComments(0)TrackBack(0)