喫茶XRAYトップページ


[3384] 今だから言えるけど…返信 削除
2010/5/23 (日) 17:34:34 たてぐや 〔HomePage
 先日来やっているプログラムと併行して、前に作ったプログラムの
修正に入っていました。この2本のほかにも新しいプロジェクトを始め
つつあったりして、まぁ、貧乏暇なしという状況です。

 で、ですね。先週つまらないところでつっかえていて、今思うと
無駄な時間を費やしてしまった失敗だというか、Topsにもなりそうな
話。

 その時にいじっていたのはQuieckReportで図面を出力するものなの
ですが、一か所前から気になっていた点があります。図面に○付きの
Aを表示するのですが、今まではリソースから画像を読み込んでい
ました。しかしこの画像がお世辞にもきれいとはいいがたいので、
今回QRShapeとQRLabelで書き換えたのです。それで、その印字が不要の
場合もあり、いつもQRLabelでやっているのをそのまま利用して、

QRShape1.Vsisble ;= false;
QRLabel1.Visible := false;

としました。これでなんら問題ないと思ったのですが、なぜかQRShapeで
書いている○が消えません。QRShapeは同じ図面の中にたくさん使ってい
るので、どこか他のを触っているのかな、と試すこと1時間。どうしても
消えません。そこで…

QRShape1.Pen.Color := clWhite

としたら何事もなく消えました。どうやらQRShapeのVisibleプロパティは
存在するものの、true/falseで機能しないようです。
 まったく無意味な時間を使ってしまいました。お粗末。

[3385] Re:今だから言えるけど…返信 削除
2010/5/23 (日) 20:27:02 Mr.XRAY
▼ たてぐやさん

本当にいろいろなところでつまずきますよね.

> QRShape1.Pen.Color := clWhite

このColorの設定もよくわからないことがあります.
紙の色が白じゃなかったらどうなるの? とか.
clNoneというのがあるのですが,
画面上では何も描画しないので,ほとんどの場合「黒=0」のようです.

>としたら何事もなく消えました。どうやらQRShapeのVisibleプロパティは
>存在するものの、true/falseで機能しないようです。


Visibleプロパティで見えないわけではないんですね.
じゃ,なんなんだ? とか..,

チャチでした.


[3386] Re2:今だから言えるけど…返信 削除
2010/5/23 (日) 21:51:37 たてぐや 〔HomePage
▼ Mr.XRAYさん
> 本当にいろいろなところでつまずきますよね.

 まったくこんなところで引っかかって進めなくなるとは思いませんでした。
でもDelphiだから許せる…
 
> 紙の色が白じゃなかったらどうなるの? とか.

 色のついた紙を使ったら白で印刷してくれるんでしょうか? 疑問です。
あ、そうか。Qrepoの色を変えて実験したら解るのかな?明日やってみます。

> Visibleプロパティで見えないわけではないんですね.
> じゃ,なんなんだ? とか..,


 なんでだよぉ、という感じですね。ただ単に他のコントロールとプロパ
ティをそろえるためだけでしょうか?

[3387] Re3:今だから言えるけど…返信 削除
2010/5/24 (月) 00:16:18 Mr.XRAY
▼ たてぐやさん

> でもDelphiだから許せる…

わぉ! 寛大ですね.でも結構そういうところあります.
Delphi信仰者とか崇拝者というのじゃないんですが,Delphiを使い始めて
感じたのは,型のきびしさですね.
これが,面倒なこともありますが,この型の指定なしでは扱えないところが
助けられることもあります.
VBのコードを移植するときはこれが大変ですね.

古いDelphi2のコードを移植する時,Integerが16bitなのがあり,
少しだけ苦しんだことがあります.
64bit版のDelphiが出てきたら,この関係の修正が必要になるかも知れません.
(VBは全く関係ないでしょうね)
WindowsのAPIの引数が問題になりそう...


[3391] Re3:今だから言えるけど…返信 削除
2010/5/27 (木) 21:54:26 たてぐや 〔HomePage
> > 紙の色が白じゃなかったらどうなるの? とか.
>  色のついた紙を使ったら白で印刷してくれるんでしょうか? 疑問です。
> あ、そうか。Qrepoの色を変えて実験したら解るのかな?明日やってみます。


 考えたら、意味ないですね。インクジェットにしろレーザにしろ「白で
印字」することはできませんよね。ここは、「紙は常に白い、もすくは淡
色である」という前提で、白が指定されたら印字しない、ととらえてもよ
さそうな気がします。

[3388] Re:今だから言えるけど…返信 削除
2010/5/24 (月) 09:14:07 ぽむぽむ
横レスです。

▼ たてぐやさん
> としたら何事もなく消えました。どうやらQRShapeのVisibleプロパティは
> 存在するものの、true/falseで機能しないようです。


QRのバージョンはわかりませんが、Enabled := False で消えませんか?
Ver2と3のソースしかわかりませんが、Ver2ではEnabledのみ。
Ver3では、Enabled or Visible=False で、描画の有無が決定されています。
Ver4以降もEnabledかな?

ところで、Visible=False ってなぜだろう?


[3389] Re2:今だから言えるけど…返信 削除
2010/5/24 (月) 23:33:21 Mr.XRAY
▼ ぽむぽむさん

> QRのバージョンはわかりませんが、Enabled := False で消えませんか?
> Ver2と3のソースしかわかりませんが、Ver2ではEnabledのみ。


Enable := Falseで消えるんですかぁ.
ホホホッ.面白い仕様ですね.
でも,False,つまり使わないから表示もしない.
ボタン類と違って,印刷関係の部品なので,動作仕様が違うのか知れませんね.


[3390] Re2:今だから言えるけど…返信 削除
2010/5/27 (木) 21:50:32 たてぐや 〔HomePage
▼ ぽむぽむさん

> Ver2と3のソースしかわかりませんが、Ver2ではEnabledのみ。
> Ver3では、Enabled or Visible=False で、描画の有無が決定されています。


 ありがとうございます。そっか、Enabledで良かったんですね。確認する
まもなく前述の方法で切り抜けて次に進んでしまいました。次回からこの
方法を意識しておきます。ソースまで調べていたいてお手数でした。


INCM/CMT
Cyclamen v3.82