2008.11.03 (Mon)
タブなしのPageControl
PageControlコンポーネントはタブがつきものと思い込んでおりました。
で、ふとタブ無しってできんものかな?と思いまして、いろいろとやって
みた次第です。
PageControlコンポーネントにはTabVisibleというプロパティがあるのは
言わずもがなであります。
なので、これを使ってやればなんとかなるんちゃう?と思い格闘すること数分。
.....見事撃沈。
これだけではどうにもなりませんでした。
で、よくよくプロパティエディタを見てみると普通のVisibleプロパティも
あるじゃありませんか。
なんたること。TabVisibleプロパティをすべてFalseにして、
Visibleプロパティを表示させたいタブだけTrueにすれば目的達成。
(ってか、TabVisibleをすべてFalseにしてActiveTabIndexを指定して
あげればそれでOKですな)
これはこれで一件落着。
で、このタブ無しPageControlを何に使うのかというと、TreeViewと一緒に
使います。よくある設定画面みたいなヤツです。
最近のソフトは設定画面が多いので、TreeViewがあると結構収まりが良い。
しかしながら今考えているソフトは、そんなに設定項目がないんですが、
PageControlをタブつきにすると結構見づらい。
なのでこの形でお茶を濁そうと。逃げに走ってみました。
で、ふとタブ無しってできんものかな?と思いまして、いろいろとやって
みた次第です。
PageControlコンポーネントにはTabVisibleというプロパティがあるのは
言わずもがなであります。
なので、これを使ってやればなんとかなるんちゃう?と思い格闘すること数分。
.....見事撃沈。
これだけではどうにもなりませんでした。
で、よくよくプロパティエディタを見てみると普通のVisibleプロパティも
あるじゃありませんか。
なんたること。TabVisibleプロパティをすべてFalseにして、
Visibleプロパティを表示させたいタブだけTrueにすれば目的達成。
(ってか、TabVisibleをすべてFalseにしてActiveTabIndexを指定して
あげればそれでOKですな)
これはこれで一件落着。
で、このタブ無しPageControlを何に使うのかというと、TreeViewと一緒に
使います。よくある設定画面みたいなヤツです。
最近のソフトは設定画面が多いので、TreeViewがあると結構収まりが良い。
しかしながら今考えているソフトは、そんなに設定項目がないんですが、
PageControlをタブつきにすると結構見づらい。
なのでこの形でお茶を濁そうと。逃げに走ってみました。
2008.10.31 (Fri)
何故にFC2?
現在(2008/10/31 9:30)、上のフレーム部分に
FC2のサイトが表示されています。
本来であれば、ムームードメインとロリポのコンビで
作ったサイトの一部が表示されているはずなんですが、
ワケがわかりません。
ま、それはそれとして、いずれ直るでしょう。
こんなことしょっちゅうなんですけど。
困ったもんですなぁ。
って感じで、とりあえず待ちます。
FC2のサイトが表示されています。
本来であれば、ムームードメインとロリポのコンビで
作ったサイトの一部が表示されているはずなんですが、
ワケがわかりません。
ま、それはそれとして、いずれ直るでしょう。
こんなことしょっちゅうなんですけど。
困ったもんですなぁ。
って感じで、とりあえず待ちます。
2008.10.28 (Tue)
複数行版Values
文字列リストTStringListには
Key=Value
形式で文字列を保存するプロパティがあります。しかし、これは
改行コードが入ると期待した動作をしてくれません。なので、
これを複数行バージョンにします。
といっても難しいことはせずに簡単に済ませます。
承継して新しいプロパティを追加すれば良いんでしょうが、
よく分からないので、ワタクシは内包する形にしました。
ここら辺はお好きなように。
単純にValuesプロパティの部分を
こんな感じにしただけです。
・MyListは内包するTStringListクラス。
・CRLFは改行コード#13#10
・CRLFCodeは改行コードの変換後文字列。#9'CRLF'#9(ここら辺は適当に)
Key=Value
形式で文字列を保存するプロパティがあります。しかし、これは
改行コードが入ると期待した動作をしてくれません。なので、
これを複数行バージョンにします。
といっても難しいことはせずに簡単に済ませます。
承継して新しいプロパティを追加すれば良いんでしょうが、
よく分からないので、ワタクシは内包する形にしました。
ここら辺はお好きなように。
単純にValuesプロパティの部分を
function FGetValues(Key:string):string;
begin
Result:=MyList.Values[ID];
Result:=StringReplace(Result,CRLFCode,CRLF,[rfReplaceAll]);
end;
procedure FSetValues(Key,Val:string);
begin
MyList.Values[ID]:=StringReplace(Value,CRLF,CRLFCode,[rfReplaceAll]);
end;
こんな感じにしただけです。
・MyListは内包するTStringListクラス。
・CRLFは改行コード#13#10
・CRLFCodeは改行コードの変換後文字列。#9'CRLF'#9(ここら辺は適当に)




