~katsuhiko メッセージボード

back 1851-1900

1901-1950

1951-2000


1950 Re: HTMLParserで コメント数:  1件
  パンタグラフ  | 2001/12/17 (月) 17:16
 http://homepage1.nifty.com/cosmic/

> もっと言えば,ブロックごとにパーサーを
> 別々に定義できる仕組みがあると良いなぁ。

私もその仕組みが欲しいです(^-^)/
極端な例だと、ASP の中に VBScript と HTML があり、
HTML の中には スタイルシート、JavaScript が、
VBScript の中には SQL が混じってるなんて
ソースを表示できたらいいですよね。
……ってそんなソース見るのは嫌ですが(^^;)

特定のブロックのみ他のパーサに処理を委譲(委任?)
でるような仕組みがつくれればいいんですよね。



1949 HTMLParserで コメント数:  2件
  かとちん  | 2001/12/17 (月) 14:39
 http://homepage2.nifty.com/t-katochin
本田さん,皆さん,こんにちわ。

<Script ...> 〜 </Script>
の間を,ブラケットにするうまい方法は
ありませんかねぇ。

なんでかというと,
if (aaa < bbb ) {
というようなスクリプトがあると,タグ開始
扱いになっちゃって,bbb 以降で
おかしな表現になってしまうからです。

もっと言えば,ブロックごとにパーサーを
別々に定義できる仕組みがあると良いなぁ。



1948 Re^2: TOleddEditor ver 1.00 コメント数:  0件
  本田勝彦  |  2001/12/15 (土) 23:55
> MemCheck を使って試したところ、
> メモリ解放し忘れがあるようです。

げげ(^^; どりどり・・・本当ですねぇ(^^;;;;

素の TEditor でやった実装サンプルでは出ないので、やつぱり IDropTargetEvents があやしいのかなぁ。

nifty:FDELPHI でパンタグラフさんが問題にされている部分なのかもしれませんね。
ちょっと調べて見ます。




1947 Re^4: TOleddEditor ver 1.00 コメント数:  0件
  本田勝彦  |  2001/12/15 (土) 23:44
> となります。BCBが自動生成してる部分でエラーなので、どうしようもないような
> 気がしてます。

うみゅ〜やっぱり C++Builder はわかりません(^^;



1946 Re: TOleddEditor ver 1.00 コメント数:  1件
  パンタグラフ  | 2001/12/15 (土) 21:48
 http://homepage1.nifty.com/cosmic/
MemCheck を使って試したところ、
メモリ解放し忘れがあるようです。



1945 Re^3: TOleddEditor ver 1.00 コメント数:  1件
  Km   | 2001/12/15 (土) 17:30
> どのあたりで発生するのでしょう?

function Clone(out enum: IEnumFormatEtc): HResult; stdcall;
がコンパイルされて自動生成するhOledd.hppの中の
HRESULT __stdcall Clone(/* out */ _di_IEnumFORMATETC &enum );
ここでエラーが出ます。

[C++ エラー] hOledd.hpp(79): E2293 ) が必要
となります。BCBが自動生成してる部分でエラーなので、どうしようもないような
気がしてます。



1944 Re^2: TOleddEditor ver 1.00 コメント数:  2件
  本田勝彦  |  2001/12/15 (土) 15:18
> 早速試してみましたが、やはりBCB5ではエラーになるようです(RoR)。

どのあたりで発生するのでしょう?

> ようやく時間も取れるようになったので、がんばってみます。

よろしくお願いします。



1943 うまくいきました。 コメント数:  0件
  とも  | 2001/12/15 (土) 11:33
> M&Iさん。ありがとうございます。
うまくいきました。バッチリです。
これで、わざわざWクリックして、選択しなくても
そのまま検索語にとりこめるので、快適です。
ほんとうに、ありがとうございました。




1942 Re^3: 教えてください コメント数:  1件
  M&I  | 2001/12/15 (土) 09:28
 http://member.nifty.ne.jp/m-and-i/
var
 fWord: string;
begin
 // 選択中であればその部分を検索語にする
 if Editor1.SelLength > 0 then
  fWord := Editor1.SelText
 // 何も選択していなければキャレット位置の単語を検索語にする
 else
  fWord := Editor1.WordFromCaret;
 :
 :
でどうでしょうか。



1941 Re: TOleddEditor ver 1.00 コメント数:  3件
  Km   | 2001/12/15 (土) 08:55
早速試してみましたが、やはりBCB5ではエラーになるようです(RoR)。
ようやく時間も取れるようになったので、がんばってみます。



1940 TOleddEditor ver 1.00 コメント数:  6件
  本田勝彦  |  2001/12/15 (土) 02:54
公開しました。

先日の実装サンプルとそう変わりは無いのですが、デフォで Ole Drag and Drop
が実装されているので、選択領域と移動するキャレットによる不整合が解消されて
います。

お試し下さい。



1939 Re^2: 教えてください コメント数:  2件
  とも  | 2001/12/15 (土) 00:47
ゆうきひろさん。こんばんは。ともです。
ゆうきさんといえば、あの Nami2000 のゆうきさんでしょうか。
それでしたら、いつも愛用させてもらってます。ありがとうございます。
検索語の件ですが、デルファイ付属のエディターでは、何も選択しなくても
カーソル位置の単語を認識して検索に反映してくれますが、ほんとうは
そういうのをやりたいのですが、何分超初心者のことゆえ、どうすればいいのか
あれこれいじくりまわしています。検索部分もTEditorのサンプルを利用して
おります。すみません。よろしくお願いします。



1938 Re: 教えてください コメント数:  3件
  ゆうきひろ  | 2001/12/14 (金) 23:46
 http://homepage2.nifty.com/ultla7/mozart/_start.htm
> カーソル位置の単語を検索語として取り込むには、どうすればいいのでしょう?
> FSearchValue とか ComboBox1.Text とかでやってみましたが、うまくいきません。
> よろしく、お願いします。

 カーソル位置の単語というより '選択した' 単語ではないでしょうか。
 カーソル位置の単語というなら、たとえばすべて全角文字でできたテキストならいったいどこまでを検索文字列にするのかわかりませんから(ダブルクリックしても自分が検索したい文字列となるとは限らない)。
 そういうことなら検索ダイアログボックスを開くところで
FSearchValue := Editor1.SelText;
Editor1.SelStart := Editor1.SelStart-1
とでもすればいいのでは? 外したかな(^^;)。



1937 教えてください コメント数:  4件
  とも  | 2001/12/14 (金) 21:29
カーソル位置の単語を検索語として取り込むには、どうすればいいのでしょう?
FSearchValue とか ComboBox1.Text とかでやってみましたが、うまくいきません。
よろしく、お願いします。



1936 Re: 要望です コメント数:  0件
  本田勝彦  |  2001/12/14 (金) 08:22
> ところで、ささやかな要望ですが、InitScroll および DeleteSelection メソッドを virtual 化して頂けるとうれぴいです。

了解でし。



1935 要望です コメント数:  1件
  鈴木@α   | 2001/12/13 (木) 11:25
鈴木@αです。
TEditor 愛用させて頂いております。(^^)/

ところで、ささやかな要望ですが、InitScroll および DeleteSelection メソッドを virtual 化して頂けるとうれぴいです。

でわ。



1934 Re: おかげまさで コメント数:  0件
  本田勝彦  |  2001/12/11 (火) 19:49
> 肝心のHandleの方はおかげさまでバッチリでした。

いかったですね。こんなんで良かったらまた遊びに来て下さい。
それと、「様」はやめてくださ〜い。




1933 おかげまさで コメント数:  1件
  もも  | 2001/12/11 (火) 02:57

すいません記憶違いでした(>_<)

TEDITIRといい、本田様の作るものはスゴイなぁ〜、とダウンした時に
思っていたもので気をつけます。

肝心のHandleの方はおかげさまでバッチリでした。

HWND(edit1.Text);てやると強制的にHWND対応なるものではなく
HWND(StrToInt(edit1.Text)));と、いう風にやるものだったんですね

勉強になりました。ありがとうございます。



1932 Re^8: OLEドラッグ&ドロップサンプル ver 1.1 コメント数:  0件
  本田勝彦  |  2001/12/11 (火) 02:23
nifty:FDELPHI/MES/10/07988 にアイデアと疑問点を書き込みました。
アドバイス頂けるとありがたいです。



1931 Re^7: OLEドラッグ&ドロップサンプル ver 1.1 コメント数:  1件
  本田勝彦  |  2001/12/11 (火) 01:24
> いま気づきましたが、TComponent って IUnknown を継承してないけど、
> QueryInterface とか _AddRef とかを実装しているんですね。
> だから TMyPageControl = class(TPageControl, IUnknown) とか
> やっても、コンパイル通ってしまうんですね。
> これって、何もしなくていいってことなのかなー。それだと楽。

おぉ、これは知りませんでした。だとすると IDropTarget と TPageControl を 新たな interface でくっつけることが出来そうですね。やってみます。




1930 Re^10: OLEドラッグ&ドロップサンプル ver 1.1 コメント数:  0件
  本田勝彦  |  2001/12/11 (火) 01:15
> implements を使うって方法です。
> ヘルプの「委任によるインターフェースの実装」の項は見られましたか?

今まさにここを考え中(^^;

> property DropTarget: IDropTarget read …… implements IDropTarget
>
> とすれば、誰が作った DropTarget 実装クラスでも使えます。
> DropTarget コンポを作ればそれも使えるのでは。

使えますね。でも、このプロパティには IDropTarget の実装を代入するワケだから、その実装が該当コントロールに手ぇ出せるような作りになってないと駄目っしょ?

結局 TInterfacedObject から派生したブツを該当コントロールが保持して、そいつに自分を渡してちょめちょめしてもらうしかないんかなぁ。



1929 Re^6: OLEドラッグ&ドロップサンプル ver 1.1 コメント数:  2件
  パンタグラフ  | 2001/12/11 (火) 00:55
 http://homepage1.nifty.com/cosmic/
> interface 使うと、必ず IUnknown を継承して QueryInterface とかを
> 実装しないといけないでしょ?
> 特に TInterfacedObject を使えない場合。
> デザインパターンとかすで純粋に interface の概念だけ使いたいときに
> 困るような気がします。

いま気づきましたが、TComponent って IUnknown を継承してないけど、
QueryInterface とか _AddRef とかを実装しているんですね。
だから TMyPageControl = class(TPageControl, IUnknown) とか
やっても、コンパイル通ってしまうんですね。
これって、何もしなくていいってことなのかなー。それだと楽。



1928 Re^9: OLEドラッグ&ドロップサンプル ver 1.1 コメント数:  1件
  パンタグラフ  | 2001/12/10 (月) 23:47
 http://homepage1.nifty.com/cosmic/
> 今そこで悩んでるので・・・hOledd.pas の TDropTarget をどうやって TEditor にくっつけるかね。

ひとつ思いついたのは、使えるかどうか分かりませんが、
implements を使うって方法です。
ヘルプの「委任によるインターフェースの実装」の項は見られましたか?

property DropTarget: IDropTarget read …… implements IDropTarget

とすれば、誰が作った DropTarget 実装クラスでも使えます。
DropTarget コンポを作ればそれも使えるのでは。
試してませんが……。



1927 Re^8: OLEドラッグ&ドロップサンプル ver 1.1 コメント数:  2件
  本田勝彦  |  2001/12/10 (月) 16:01
> DropTarget に関して言えばやっぱり新井さんのと同じ作りにしか
> ならないし(^^;)

そうか、そのことなのか(^^;わかりました。

今そこで悩んでるので・・・hOledd.pas の TDropTarget をどうやって TEditor にくっつけるかね。



1926 Re^7: OLEドラッグ&ドロップサンプル ver 1.1 コメント数:  3件
  パンタグラフ  | 2001/12/10 (月) 14:22
 http://homepage1.nifty.com/cosmic/
> TInterfacedObject を使えない状況が Delphi どっぷりな私には想像出来ないのが悔しいですが。

たとえば、TControl 派生クラスが直接 Interface を実装するとき。
今回の TPageControl に IDropTarget もそうですが、
TListBox と TComboBox に共通の処理を実装させたい時とか。

もちろん直接ではなく TInterfacedObject 派生物を作って、
包括するように作ることも出来ますが、それだと実装の強制力が無いし、
DropTarget に関して言えばやっぱり新井さんのと同じ作りにしか
ならないし(^^;)



1925 Re^6: OLEドラッグ&ドロップサンプル ver 1.1 コメント数:  4件
  本田勝彦  |  2001/12/10 (月) 13:31
> interface 使うと、必ず IUnknown を継承して QueryInterface とかを
> 実装しないといけないでしょ?
> 特に TInterfacedObject を使えない場合。
> デザインパターンとかすで純粋に interface の概念だけ使いたいときに
> 困るような気がします。

なるほどそうですね。
TInterfacedObject を使えない状況が Delphi どっぷりな私には想像出来ないのが悔しいですが。



1924 Re^5: OLEドラッグ&ドロップサンプル ver 1.1 コメント数:  8件
  パンタグラフ  | 2001/12/10 (月) 10:19
 http://homepage1.nifty.com/cosmic/
> > Delphi の interface は、ちょっと使いにくいんですよね。
> > COM コンポーネント化しないといけないから。
>
> 他の、もう少し楽な方法とは?

interface 使うと、必ず IUnknown を継承して QueryInterface とかを
実装しないといけないでしょ?
特に TInterfacedObject を使えない場合。
デザインパターンとかすで純粋に interface の概念だけ使いたいときに
困るような気がします。



1923 OLE Drag & Drop サンプル ver 1.3 コメント数:  0件
  本田勝彦  |  2001/12/10 (月) 09:10
公開しました。hOledd.pas の OnDragLeave イベントハンドラ呼び出しにバグがありました。

TOleddEditor 作成中・・・



1922 Re^4: OLEドラッグ&ドロップサンプル ver 1.1 コメント数:  9件
  本田勝彦  |  2001/12/10 (月) 09:09
> うーん。TPageControl が直接 IDropTarget をインプリメントすれば
> いいのかな……。

んだんだ。IDropTarget に応答するコントロールが重なっていても、一番上の窓が仕事をするようです。

> Delphi の interface は、ちょっと使いにくいんですよね。
> COM コンポーネント化しないといけないから。

他の、もう少し楽な方法とは?



1921 Re^3: OLEドラッグ&ドロップサンプル ver 1.1 コメント数:  10件
  パンタグラフ  | 2001/12/09 (日) 23:07
 http://homepage1.nifty.com/cosmic/
> > それにしても、TPageControl を拡張したコンポを手直ししてみようかな
> > という気分になってきました。要は IDataObject だけで処理が可能で
> > あれば、新井さんのクラスでも本田さんのクラスでも動くと……。
> > 無理かな。
>
> 受け取るだけなら、IDropTarget だけで行けますよ。

うーん。TPageControl が直接 IDropTarget をインプリメントすれば
いいのかな……。出来そうな気がしてきましたが、何せ COM 関係の
プログラムしてたの 3 年前だから忘れてます(^^;)

Delphi の interface は、ちょっと使いにくいんですよね。
COM コンポーネント化しないといけないから。




1920 Re^6: はじめまして。教えてください。 コメント数:  0件
  とも  | 2001/12/09 (日) 02:05
> > それから、もうひとつ質問なんですが、カットとかコピーの時
> > CutToClipboard とするのと SendMessage を使うやりかたが
> > ありますが、結果は同じように思うのですが、どう違うのでしょうか?
> > どちらを使ったほういいのか、すみませんが教えてください。
>
> if ReadOnly の判別が入っているので、SendMessage した方が安全ですね。
> 選択状態でない場合はクリップボードが空になりますし。
>
> CutToClipboard メソッドの方を次ので直します。感謝です。

ありがとうございます。
書店にも参考書がほとんどなく、またこの年で(来年還暦)はじめたもので
なかなか思うようにいきません。またまた、ご面倒をかけることがあるかも
しれませんが、よろしくお願いします。



1919 Re^2: ハンドルで質問なんですが コメント数:  2件
  本田勝彦  |  2001/12/09 (日) 01:48
ウチとこにハンドルソフトはないですが(^^;

文字列データと数値データの区別があいまいなように思います。
Edit1.Text は String 型です。
SetForeGroundWindow に渡すのは数値ですから
SetForeGroundWindow(HWND(StrToInt(edit1.Text))); とします。
数値から文字列を取得する IntToStr 手続きもあります。

Wnd := FindWindow(nil, '+edit1.text+');

Wnd := FindWindow(nil, PChar(Edit1.Text));
または、
var
S: String;
begin
S := Edit1.Text;
Wnd := FindWindow(nil, PChar(S));
として見て下さい。

ハンドルソフトって何処に置いてあったのでしょう?見てみたい(^^)



1918 Re^5: はじめまして。教えてください。 コメント数:  1件
  本田勝彦  |  2001/12/09 (日) 01:38
> それから、もうひとつ質問なんですが、カットとかコピーの時
> CutToClipboard とするのと SendMessage を使うやりかたが
> ありますが、結果は同じように思うのですが、どう違うのでしょうか?
> どちらを使ったほういいのか、すみませんが教えてください。

if ReadOnly の判別が入っているので、SendMessage した方が安全ですね。
選択状態でない場合はクリップボードが空になりますし。

CutToClipboard メソッドの方を次ので直します。感謝です。



1917 Re^4: はじめまして。教えてください。 コメント数:  2件
  とも  | 2001/12/09 (日) 01:01
> > 原因がわかりました。
> > Margin の line の値が0の時はでませんが、1とかにするとやはり
> > ラインが表示されます。これはどうにもならないのでしょうか・・。
>
> 2にするともっと広くなります。Margin.Line の部分には選択領域の描画をしない
> 仕様になっています。
> DrawSelectionLine, DrawSelectionBox の LineHeight 変数に値を代入している部分を
> LineHeight := GetRowHeight;
> とするとお望みの動作になると思います。(保証は出来ませんが^^;)

一応 HEDITOR.PAS を開いてみましたが、何分初心者のことですので、
やっぱり、こわいので止めときます。すみませんでした。

それから、もうひとつ質問なんですが、カットとかコピーの時
CutToClipboard とするのと SendMessage を使うやりかたが
ありますが、結果は同じように思うのですが、どう違うのでしょうか?
どちらを使ったほういいのか、すみませんが教えてください。





1916 Re: ハンドルで質問なんですが コメント数:  3件
  もも  | 2001/12/09 (日) 00:30
エディットBOXに入っているClassかHandleから
SetForeGroundWindow
を実行するにはどのような方法があるのでしょうか?
下記の「無題 - メモ帳」の場所にwindows TEXTを入れられれば対処出来そうな
気もするのですが
Wnd := FindWindow(nil, '無題 - メモ帳');
上記を下記のように
Wnd := FindWindow(nil, '+edit1.text+');
としてみても無理でした。
そして置き換えで対象しようとおもったのですが
’を置き換えたりshowmessageで表示する方法はあるでしょうか
長くなりましたが宜しくおねがいいたします



1915 ハンドルで質問なんですが コメント数:  4件
  もも  | 2001/12/09 (日) 00:29
こんばんはです。
ハンドルソフトをダウンさせていただき勉強させていただきました。
そこで疑問におもった事があるのですが
ハンドルが1736だとして直接
--------------------------------------------------
procedure TForm1.Button2Click(Sender: TObject);
begin
SetForeGroundWindow(1736);
end;
--------------------------------------------------
上記のようにすると、ふぉーかすが拾えるのに
下記のように1度EDITBOXにいれたものから拾おうとすると
アクティブに出来ません
--------------------------------------------------
procedure TForm1.Button3Click(Sender: TObject);
var
Wnd: HWND;
begin
edit1.Text:='1736';
SetForeGroundWindow(HWND(edit1.Text));
end;
--------------------------------------------------



1914 Re^3: はじめまして。教えてください。 コメント数:  3件
  本田勝彦  |  2001/12/09 (日) 00:17
> 原因がわかりました。
> Margin の line の値が0の時はでませんが、1とかにするとやはり
> ラインが表示されます。これはどうにもならないのでしょうか・・。

2にするともっと広くなります。Margin.Line の部分には選択領域の描画をしない
仕様になっています。
DrawSelectionLine, DrawSelectionBox の LineHeight 変数に値を代入している部分を
LineHeight := GetRowHeight;
とするとお望みの動作になると思います。(保証は出来ませんが^^;)



1913 Re^2: はじめまして。教えてください。 コメント数:  4件
  とも  | 2001/12/09 (日) 00:04
> > 1)TEDITOR のヘルプファイルがインストールできない。
> > ヘルプメニューにカスタマイズの項目もないし、D6\BIN\ に OH.EXE も
> > ありません。どうすれば・・・。
>
> personal 版を覗いてみました。oh.exe は用意されていないんですね。これはどうしようもないと思います。professional版を購入して下さい。
>
そうですか。やはり personal では、無理なんですか。しばらくは、このままで頑張ってみます。

> > 2)選択画面にすべて UNDERLINE が表示される。
>
> Editor1.View.Colors.Select.Style := [];
> として下さい。
>
原因がわかりました。
Margin の line の値が0の時はでませんが、1とかにするとやはり
ラインが表示されます。これはどうにもならないのでしょうか・・。

> >   また、選択部分をクリックしても、解除できない。
>
> マウスのボタンを押し下げただけでは解除されません。そこからマウスのボタンを離した時に解除されます。そういう作りになっています。

わかりました。

どうもありがとうございます。
しばらく試用してから、登録させていただきますので、
よろしくお願いします。




1912 Re^2: OLEドラッグ&ドロップサンプル ver 1.1 コメント数:  11件
  本田勝彦  |  2001/12/08 (土) 21:04
> エクスプローラからファイルをドラッグしてきたときには PageControl
> のタブが切り替わらないのは何故?
>
> まあ、必要ないといえば無いですが、自作のエディタでは、Shift + Drop
> でファイルの中身を流し込む作りにしてたので、ファイルの DragOver で
> 切り替えられると便利ですよ(^^)/

おぉ、そういう実装もあるのですね。やっぱりコンポデフォは難しいなぁ。

> それにしても、TPageControl を拡張したコンポを手直ししてみようかな
> という気分になってきました。要は IDataObject だけで処理が可能で
> あれば、新井さんのクラスでも本田さんのクラスでも動くと……。
> 無理かな。

受け取るだけなら、IDropTarget だけで行けますよ。



1911 Re: はじめまして。教えてください。 コメント数:  5件
  本田勝彦  |  2001/12/08 (土) 20:58
> 1)TEDITOR のヘルプファイルがインストールできない。
> ヘルプメニューにカスタマイズの項目もないし、D6\BIN\ に OH.EXE も
> ありません。どうすれば・・・。

personal 版を覗いてみました。oh.exe は用意されていないんですね。これはどうしようもないと思います。professional版を購入して下さい。

> 2)選択画面にすべて UNDERLINE が表示される。

Editor1.View.Colors.Select.Style := [];
として下さい。

>   また、選択部分をクリックしても、解除できない。

マウスのボタンを押し下げただけでは解除されません。そこからマウスのボタンを離した時に解除されます。そういう作りになっています。




1910 はじめまして。教えてください。 コメント数:  6件
  とも  | 2001/12/08 (土) 13:22
はじめまして。
D6 Personal を使い初めて1ヶ月少しの初心者です。
TEDITOR を今週ダウンして、試用中なのですが、わからないことが
ありますのでよろしくお願いします。

1)TEDITOR のヘルプファイルがインストールできない。
ヘルプメニューにカスタマイズの項目もないし、D6\BIN\ に OH.EXE も
ありません。どうすれば・・・。

2)選択画面にすべて UNDERLINE が表示される。
  また、選択部分をクリックしても、解除できない。

プロパティをいろいろ変えてみても、また SELECTIONMODE をかえても
かわりません。何がいけないのでしょうか。

よろしく、お願いします。



1909 Re: OLEドラッグ&ドロップサンプル ver 1.1 コメント数:  12件
  パンタグラフ  | 2001/12/08 (土) 01:50
 http://homepage1.nifty.com/cosmic/
> パンタグラフさんに教えて頂いた TCM_HITTEST も実装し、
> IDataObject による PageControl1 のタブページ切り替えも実装することが
> 出来ました。多謝m(_ _)m

ソースの中身を詳しく見てないので何ですが、
エクスプローラからファイルをドラッグしてきたときには PageControl
のタブが切り替わらないのは何故?

まあ、必要ないといえば無いですが、自作のエディタでは、Shift + Drop
でファイルの中身を流し込む作りにしてたので、ファイルの DragOver で
切り替えられると便利ですよ(^^)/

それにしても、TPageControl を拡張したコンポを手直ししてみようかな
という気分になってきました。要は IDataObject だけで処理が可能で
あれば、新井さんのクラスでも本田さんのクラスでも動くと……。
無理かな。



1908 Re^3: OLEドラッグ&ドロップサンプル ver 1.1 コメント数:  0件
  本田勝彦  |  2001/12/07 (金) 23:01
少し煮詰めることが出来ました。
ver 1.2 として Delphi のページに置きました。

TRichEdit では、選択状態で、IDataObject の DragOver が過ぎ去った後、キャレット位置や選択状態がきちんと復帰されますね。HideSelection も実装されているし・・・

専用のコンポをこしらえないと駄目なような気もしてきました。
CLX には OLE が無いだろうから、デフォは嫌なのよねん。



1907 Re^8: search コメント数:  0件
  みずほちゃん  | 2001/12/07 (金) 21:07
> なんか、ええかげんなコメントで申し訳ない。
いえ、それは構いません。

> まだ、仕様を模索している段階なので、あぁだこぉだ言われても何の保証も出来ない状態なので勘弁して下さい。
でも、要望くらいは出したいです。



1906 Re^5: Courier Newの描画 コメント数:  0件
  本田勝彦  |  2001/12/07 (金) 11:55
> あと、もし問題がなければTEditorのCharsetはDEFAULT_CHARSETにしませんか?
> 国際化も睨んで・・・^^;。(その際には、HviewEdt.pasのサンプル表示画面も。)

フォントにからむ場所全部にコンパイラオブションを入れるのが面倒なので、今のところ考えていません。



1905 Re^7: search コメント数:  1件
  本田勝彦  |  2001/12/07 (金) 11:54
なんか、ええかげんなコメントで申し訳ない。

まだ、仕様を模索している段階なので、あぁだこぉだ言われても何の保証も出来ない状態なので勘弁して下さい。
独自のメソッドや手続きを実行出来るようにしたいと考えているのは本当なので、現在進められている作業が全く無駄になることは無いと思います。



1904 Re^4: Courier Newの描画 コメント数:  1件
  sakazuki   | 2001/12/07 (金) 08:07
 http://homepage2.nifty.com/sakazuki/rde.html
sakazukiです。
> 思い出しました。Font.Charset を、明示的に DEFAULT_CHARSET に変える必要があります。
>
ありがとうございます。治りました。
こういうときに、使うPropertyだったのですね。ひとつ勉強になりました。
あと、もし問題がなければTEditorのCharsetはDEFAULT_CHARSETにしませんか?
国際化も睨んで・・・^^;。(その際には、HviewEdt.pasのサンプル表示画面も。)

ありがとうございました。



1903 Re^6: search コメント数:  2件
  本田勝彦  |  2001/12/07 (金) 02:24
> それならば、どういう変数が接続するコンポーネントから参照できるのか
> 教えてもらえませんか(予定でも結構です)?

TEditor のインスタンスそのものでは行けませんか?

> あと、インデント周りのコードを整理してもらえませんか?
> キャレットの位置にかかわらず一つの行だけを
> インデント・アンインデントするメソッド
> くらいはあっても良いと思います。

1行だけを更新するのに、メソッドが必要ですか?



1902 Re^2: OLEドラッグ&ドロップサンプル ver 1.1 コメント数:  1件
  本田勝彦  |  2001/12/07 (金) 02:20
> しかし[警告] Unit1.pas(53): ファイル 'Unit1.DFM' が見つかりません
> と文句を言われてしまいますです。

シイマッシェン(^^; 不調だなぁ・・・
同名の holedd11.lzh をアップロードし直しました。

ページコントロールが切り替わるのは超気持ちいいです。はい。
パンタグラフさんどうもです。




1901 Re^3: Courier Newの描画 コメント数:  2件
  本田勝彦  |  2001/12/07 (金) 02:05
思い出しました。Font.Charset を、明示的に DEFAULT_CHARSET に変える必要があります。

以下 nifty:FDELPHI/MES/10/7638 からのツリーから引用

>原因は、Kmさんがコメントして下さったようにCharsetの不整合の
>ためWindowsが他のフォントを割り当てたものと思われます。

>さて、Charsetの明示的指定ですが、FontDialogを使う場合は元発言に
>書いたように Editor1.Font.Charset:= FontDialog1.Font.Charsetで
>できますが、実際のアプリケーションではFontDialogではなく、かとちん
>さんのTFontNameComboBoxを使っているため、この手が使えません。
>
>ちょっと悩んだんですが、ヘルプをじっくり見たら、フォント名で指定
>した場合は・・
> Editor.Font.Charset:= DEFAULT_CHARSET;
>でいけることが分かりました。