トップページ⇒tech
1001コメント324KB

Delphi相談室(超初心者用)その11

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、お礼はDelphiの布教と初心者の
救済をお願いします。

<前スレ>
(11) http://pc2.2ch.net/test/read.cgi/tech/1074523803/

似たようなスレがありますが空気を読んでスレを選んでください。
<類似スレ>
【Delphi初心者】今から始めるDelphi Part01
http://pc2.2ch.net/test/read.cgi/tech/1062422335/
Delphi相談室(中級者以上)その12
http://pc2.2ch.net/test/read.cgi/tech/1064420818/
Delphi相談室(上級者用)その12
http://pc2.2ch.net/test/read.cgi/tech/1064766880/
【終わりの】Delphi 8 for .NET【始まり】
http://pc2.2ch.net/test/read.cgi/tech/1073688379/

雑談ぽい話はこちらに
<雑談スレ>
ミ,,゚Д゚彡フサギコのフサフサDelphi談話室その12
http://pc2.2ch.net/test/read.cgi/tech/1076095856/
0232デフォルトの名無しさんNGNG
ひぇ〜 ”はぁ” 来た〜〜〜
0233デフォルトの名無しさんNGNG
> コード・エディタがどうにも使いにくいので、出来れば秀丸にしたいのですが、
> どこの設定を変えれば宜しいのでしょうか?
> 超初心者的質問で申し訳ないのですが、どなたかご教示お願い致します。
 Delphi 予約語などのの強調表示ができればいいんだろ。秀丸は Pascal の強調表示には対応してた
はず。しかし、超初心者ならコードエディタにも慣れた方がいいと思うぞ。なんと言ってもコード補
完は便利だから。
0234デフォルトの名無しさんNGNG
>>230
統合開発環境じゃなくて秀丸使いたがるなんて、プログラムの初心者じゃないだろ。自分で調べろ!
といいたいところだが…

秀丸を統合開発環境のデフォルトエディタには出来ない。
統合開発環境も一緒に起動しておいて秀丸で編集して保存。
んで、統合開発環境のエディタをアクティブにすると、「内容が変更されたが更新するか?」というメッセージが出るのでOKする。
んで、メニューからコンパイルすればよい。

dos窓が良ければコマンドラインコンパイラ(bin\dcc32.exe)もあるぞ。
0235デフォルトの名無しさんNGNG
慣れろ。

以上。
0236デフォルトの名無しさんNGNG
>>231
俺は>>228の言いたい事が解ったぞ。
0237デフォルトの名無しさんNGNG
DPRにあるルーチンってフォームのユニットから呼び出せたっけ?
0238デフォルトの名無しさんNGNG
たっけ?じゃなくて試せよボウズ
0239デフォルトの名無しさんNGNG
質問させてください。

フォームにボタン(Captionはボタン生成)を1つ貼り付け、
それを押すと度にその下に新しいボタン(新ボタン1,2,3...)が
にょきにょき出てくるテストプログラムを作っています。

ここで新ボタンを押すと、その押したボタンが消える(破棄される)
ようにしまして、消える事は消えるのですが消えた後にほぼ必ず
読み込み違反のエラーが出てしまいます。ごく稀に出ない時もあります。

このエラーが出ないようにするにはどうすればいいのでしょうか?
0240デフォルトの名無しさんNGNG
ソース
0241デフォルトの名無しさんNGNG
>>239
イベントハンドラ内でFreeしたらあかん

ttp://www.sakaki.keiaikai.or.jp/cgi-bin/ConvRoom/webconv.dll/alltree?No=17155
0242デフォルトの名無しさんNGNG
>>239
ボタンを破棄しないで
VisibleをFalseにしる
0243デフォルトの名無しさんNGNG
アッチョンブリケ
0244228NGNG
すみません >>228 は誤解を招く表現でした。

前半はドキュメントとビューを別けようという話です。

OnClickに、見かけとか、そのフォームに関する処理を書くだけならいいのですが、
何か処理をする時、 何か処理をするという事は、データを扱うという事ですので、
そのデータの方に注目して、別のユニットにその処理を書きます。
そうすると、そのユニットは単独で使う事が出来るようになります。
たとえばバッチ処理をさせたりしたい場合に便利になるわけです。
そのあたり、馴れない間は、DataModuleに書くと良いでしょう。


後半は、アプリ起動時に処理させたい内容は、.DPRに書くと良いという話です。
DataModuleを使う場合、.DPRはこんなふうになっています。
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TDataModule1, DataModule1);
  Application.Run;
end.
ここで、  Application.Run; をParamによって条件判断して呼ばなければ
そのままアプリはフォームを開かずに終了し、endの後でCreateされてるフォームは
Applicationを親にしているので自動的に開放されます。
0245227NGNG
>>228,>>244
きっかけをもらえて助かりましたYo!
データモジュールの使い方が分かってアリガ�d
0246デフォルトの名無しさんNGNG
>>239
ボタンはオーナーであるフォームが管理してるんだから
勝手に破棄しちゃ駄目でしょ。Components配列から外さないと。
0247デフォルトの名無しさんNGNG
>>246
子コントロールが開放(たとえばButton1.Free; を実行)されれば、
自動的に親と通信するから大丈夫。

>>239
将来の事を考えると、イベントハンドラ内でFreeしない方がいい。
でも、それとは別に、イベントハンドラ内でFreeしても現在のVCLでは問題ない。

だから、何か変な事をやってるように思うから、その部分のソースを書いてみて。
0248デフォルトの名無しさんNGNG
>>247
> イベントハンドラ内でFreeしても現在のVCLでは問題ない。

設計時にポトペタしたのは大丈夫だけど、動的につくったやつはそのイベントハンドラ
で Free するとエラーになる。試してごらん。
0249デフォルトの名無しさんNGNG
フォーム1からフォーム2をリンクして開こうとおもうのですが
新しくフォームを生成するのではなく
フォーム1の中でフォーム2を実行したいのです
どうすればいいのでしょうか?

また、こういったわからないことがあったら
どうやって調べたらいいのでしょうか?
ヘルプファイルもいまいち理解しにくいのですが
0250デフォルトの名無しさんNGNG
>>249
PageControl使ったほうがいいかも
0251ミ,,゚Д゚彡 ◆A6VzDeLphI NGNG
>>248
試してみました。

procedure TForm1.Button1Click(Sender: TObject);
begin
 TButton(Sender).Free;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 with TButton.Create(Self) do
 begin
  Parent := Self;
  Top := Y;
  Left:= X;
  OnClick := Button1Click;
 end;
end;
0252デフォルトの名無しさんNGNG
質問です。
WebBrowserを使って簡単なブラウザを作っているんですが、
リンク先が新しいウインドで開く設定のリンクだった場合
IEが新たに立ち上がって、IEにリンク先のページが開いてしまいます。
これをIEでなく、ブラウザ自身を立ち上げて表示させたいのですが
どうすればいいんでしょうか?
よろしくお願いします。
0253デフォルトの名無しさんNGNG
その作ってるブラウザをデフォルトのブラウザに
しなきゃなんないんじゃないの?
0254デフォルトの名無しさんNGNG
>>251
エラーが出ました。
0255デフォルトの名無しさんNGNG
質問お願いします。
Delphi 6 personal で作ったツールを仕事で使ったらライセンス違反ですか?
0256デフォルトの名無しさんNGNG
>>255
そういう微妙なライセンスの問題は、個人の契約問題ですから
ご自分でボーランドに問い合わせて下さい。
0257デフォルトの名無しさんNGNG
>>252
リンクをクリックしたときに発生するイベントあるんだから(OnBeforeNavigate2)、
そこにShellExecute使って自分自身を起動するようにすればよい。引数にはリンクのアドレスを入れておく。
んで起動時にOnCreateでParamStr(1)で読み込んで、Navigateする、と。
0258デフォルトの名無しさんNGNG
>>252
http://delphi.sakura.vg/lesson26.html
0259デフォルトの名無しさんNGNG
>>255
よしんばそれがライセンス違反だったとしても
それを確認できる人はいない。

Del6Perで作ったソフトそのものを売ったりしなきゃ
全然オッケーでしょ。
0260252NGNG
>>257
>>258
新しいウインドを開くリンクをクリックして、とりあえず自身のブラウザを
立ち上げるまでにはなりました。まだリンク先の表示は出来ませんが・・・。
参考に頑張ってみます。ありがとうございました。
0261デフォルトの名無しさんNGNG
フォームのデザインをするときに、色のセンスがないので、
市販のソフトなどの色使いをまねして作りたいのですが

マウス上の色をTColor(-$7FFFFFFF-1..$7FFFFFFF)で返すソフトはないでしょうか?

もしくはその処理を教えてください。

原色だらけのFormで見づらくて。
0262デフォルトの名無しさんNGNG
function GetColorByCursorPos: TColor;
var
DesktopCanvas: TCanvas;
CursorPos: TPoint;
begin
GetCursorPos(CursorPos);
DesktopCanvas := TCanvas.Create;
try
DesktopCanvas.Handle := GetWindowDC(GetDesktopWindow);
Result := DesktopCanvas.Pixels[CursorPos.x, CursorPos.y];
finally
DesktopCanvas.Free;
end;
end;
0263261NGNG
>>262

ありがとうござます。

けど、自分で作成したForm内はTColorの値をとれるのですが、
本来の目的、他のアプリの取り方がわかりません。

明日?、起きたらもう一度挑戦します。
0264デフォルトの名無しさんNGNG
>>263
262 さんではありませんが 262 の関数で画面のどの場所でも色が取れるのを確認したよ。
0265デフォルトの名無しさんNGNG
こんなのもあった

http://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200309/03090060.txt
0266デフォルトの名無しさんNGNG
>>261
ALT+COPYして そのアプリの画面イメージをクリップボードに入れてから
処理すると楽なんじゃないの?
0267デフォルトの名無しさんNGNG
>>266

どう楽か知らんが、1点の情報が必要なのに100万点の情報をメモリに入れるのは
バカみたい。
0268261NGNG
色の値をとれました。
ありがとうございます。

>265 で実施したのですが、
Form外のマウス位置の情報を >262,264 さんがどのように実施したのか
教えていただけないでしょうか?
0269デフォルトの名無しさんNGNG
GetCursorPos
0270デフォルトの名無しさんNGNG
>>268
GetCursorPosというWin32API
検索しようね。
分からない部分をググるだけでもだいぶ違うぞ
0271デフォルトの名無しさんNGNG
GetCursorPos が分からないのではなく、どのタイミングでカーソル位置を取得
するのか分からないんだと思う。>>265 の方法はマウスキャプチャを利用して
OnMouseUp で検出してるけどね。
0272デフォルトの名無しさんNGNG
>>220

なんか お金を払ったときなどの釣りはいらねぇ〜っていう セリフを思い出した。
0273261NGNG
>269,268,271

>271さんがいっているように、どこで処理を書くのかわかりませんでした。
TForm1.FormMouseMove で処理を実施してもForm外では認識しなかたので。

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Form1.Color := GetColorByCursorPos;
end;

と、Timerで処理すればよいのがわかり、解決出来ました。

ありがとうございます。
0274デフォルトの名無しさん NGNG
StringGridについて教えてください。

通常の列については、goColSizingでサイズ変更が可能になるようなのですが、
FixedColはできないのでしょうか?
StringGrid自体の幅があまりとれないもので、FixedColを調節して
通常列の値が見えるようにしたいのですが・・・。

どなたかご存知の方がいましたらご教授ください。
0275デフォルトの名無しさんNGNG
QuickRepotの印刷イメージをImage1.Canvas に
コピーしたいのですがどのようにすればよいのでしょうか?
色々試してみて

QuickReport1.PaintTo(Image1.Canvas,0,0);

で出来そうと思ったのですが、デザイン中の画面が表示されてしまいました。

Image1.Canvas := QuickReport1.QRPrinter.Canvas

では、エラーが出てしまいます。
よろしくお願いします。

そもそもの目的は、両面印刷の実施です。
表面 ImageKit という市販のソフト( http://www.newtone.co.jp/index.html )
裏面 QuickRepot で作成されたイメージ
という形で印刷したかったのですが、うまくいきません。
QuickRepot1.Print を実施すると、次のページに印刷されます。
回避方法として、QuickRepotの印刷イメージをImageKit側に呼び出そうとしています。

表裏面ともに、ImageKitのデータの場合はできました。
もっと簡単な方法がありましたら教えてください。
0276デフォルトの名無しさんNGNG
つづき --------------

以下は、表裏面ともにImageKitの例

procedure TForm1.Button1Click(Sender: TObject);
begin
//IkFile1,IkDisp1,IkPrint1 はImageKitのコンポーネント
IkFile1.FileName := 'C:\Test.tif';
IkFile1.LoadFile(4);
IkDisp1.ImgHandle := IkFile1.ImgHandle;
IkDisp1.Display(1);

IkPrint1.PrintFileName := 'Default';
IkPrint1.PrintCreateDC(ikPrintFileName);
IkPrint1.PrintDlg; //これで両面印刷に設定する
IkPrint1.PrintStartDoc();
IkPrint1.PrintStartPage();
//表面の印刷
IkPrint1.ImageOut(IkPrint1.hDC, IkFile1.ImgHandle,
100, 100, 1000, 1000, True, True, ikPrinter);
IkPrint1.PrintEndPage();
IkPrint1.PrintStartPage();
 //裏面の印刷
IkPrint1.ImageOut(IkPrint1.hDC, IkFile1.ImgHandle,
100, 100, 1000, 1000, True, True, ikPrinter);
 //QuickRepot1.Print ここで実施しても両面にはならない

IkPrint1.PrintEndPage();
IkPrint1.PrintEndDoc();
IkPrint1.PrintDeleteDC();
IkPrint1.ReleaseDevModeHandle;
end;
0277超初心者ですNGNG
実行した内容の保存、呼出の方法についてお伺いしたいです。
例えば、変数のカウントがどこまで進んだかをファイルに保存し、
Memoに呼び出す、といったことをしたいのですが、
簡単で構わないので、何かサンプルをいただければありがたいです。
0278デフォルトの名無しさんNGNG
上記御質問の返答が書込まれていない所すみませんが,
便乗して質問させて下さい.

モーダルフォーム生成の際ですが,form1(メインフォーム)から

form2:=Tform2.Create(self);
try
form2.ShowModal;
finally
form2.Release;
end;

以上のコードを用いると form2 はモード付きで表示されますが,
この状態で form1 をマウスクリックした場合において,form2 に,
一般によく見るような「タイトルバーの点滅」が得られないのです.

何分気に掛かりますので,これを実現する策がありましたら御教授下さい.
0279デフォルトの名無しさんNGNG
モーダルだからフォーカスは同じアプリの他フォームに移動しないのは当然。
0280デフォルトの名無しさんNGNG
>>277
変数をファイルに保存するので一番簡単なのはINIファイルだけど、
カウントを履歴のように保存したいのかな?それだとTStringListだけど。
もうちょっと具体的なことが分からないと(どういう形式でファイルに保存したいのか)。
0281デフォルトの名無しさんNGNG
あ〜、ちかちかするやつか? なんでだろうね。標準モーダルループじゃないからだと。
0282デフォルトの名無しさんNGNG
>>278

実現しなければならない機能に比べて、やらなきゃならないことはいっぱいある。
まぁ、そんなトリヴィアは気にしないこと。
0283デフォルトの名無しさんNGNG
実現しなければならない と やらなきゃならない
の違いがわからん。かわいいミスか?
0284デフォルトの名無しさんNGNG
つまり、つまらんこと実現するためにモーダルループに介入しなければならんほど
大変なのでやる価値があるとは思えない、ということ。
0285デフォルトの名無しさんNGNG
TOpenDialog のようなコモンダイアログを表示している場合もちかちかしないね。
この場合は標準モーダルループのはずなのに。うーむ、MainForm がそもそもダイアロ
グだからだろうか。わからない。
0286デフォルトの名無しさんNGNG
Delphiアプリは、Applicationという見えないウィンドウがあって
それがフォームを出したりしている。

と、ここまで書いて思ったが
そこらへんの話って、Halbowさんとこになかったっけ。
0287デフォルトの名無しさんNGNG
>>286
> Delphiアプリは、Applicationという見えないウィンドウがあって
> それがフォームを出したりしている。

うん、それがこの場合にどう関係あるのかがわからないんだよね。
Application ウィンドウからみて MainForm はモードなしダイアログなんだろうか?
それが関係ありそうだけどよくわからない。
0288デフォルトの名無しさんNGNG
Delphi 6 RTL アップデートパック #3をダウンロードしたんですけど

このアップデートパックは ZIP 形式で圧縮されています。このファイル
を一時的なフォルダに展開し、Delphi 6 のフォルダ(デフォルトのパス
は以下のとおり)にコピーしてください。

c:\program files\borland\delphi6\Source\RTL\Common\Classes.pas
c:\program files\borland\delphi6\Lib\Classes.dcu
c:\program files\borland\delphi6\Lib\Debug\Classes.dcu
c:\program files\borland\delphi6\Lib\rtl.dcp
c:\program files\borland\delphi6\MergeModules\BaseRTL.msm
c:\winnt\System32\rtl60.bpl
c:\winnt\System32\rtl60.map
c:\winnt\System32\rtl60.jpn
と書いてあってこの中の下の3つって
Cドライブの中にwinntフォルダがないんで
C\WINDOWS\SYSTEM32の中にコピーするんですか?
OSはMEです。
0289デフォルトの名無しさんNGNG
俺は2000持ってないけど、ダイアログの点滅は2000でも起こりうるのか?
XPだけならマニフェストあたりの問題かも試練。
0290デフォルトの名無しさんNGNG
>>288
すでにあるかどうか確かめる。
試してみる。
0291デフォルトの名無しさんNGNG
>>289

自分は Win2k だけどメモ帳の開くの OpenDialog では、ちかちかするよ。
0292デフォルトの名無しさんNGNG
>>288
「ミ田+F」の長押しで検索。
0293デフォルトの名無しさんNGNG
ウィンドウのオーナー変えるだけの話。でも色々注意しないといけないことが多い。
気にしないほうが幸せになれる。
Delphi8でWinFormという解決方法もあり。
0294デフォルトの名無しさんNGNG
> ウィンドウのオーナー変えるだけの話。

Form2 のオーナーは Application だよね。どう変えるの?

> でも色々注意しないといけないことが多い。

全然「だけ」じゃないね。(笑
0295デフォルトの名無しさんNGNG
モーダルダイアログをちかちかさせるために .NET アプリにするのは変!
0296デフォルトの名無しさんNGNG
TForm2 は CreateParams() を override してオーナを変更できるが、コモンダイアログ
の場合はどうするのかなー
0297デフォルトの名無しさんNGNG
delphiでデザインパターンについていろいろ書かれてる本は有りますか?

現在、kakinotane.s7.xrea.comを眺めながら
『Java 言語で学ぶデザインパターン入門』 結城 浩(著) を購入して理解を深めていく方法を
とろうか、とるかまいか悩んでいるところなのですが・・・
0298デフォルトの名無しさんNGNG
> delphiでデザインパターンについていろいろ書かれてる本は有りますか?

見たことない。デザパタは知らないより知っていた方がよいが、
悩んでがりがり勉強するほどのものとは思えない。結城さんの本は
買っておいても損はしないと思う。
0299デフォルトの名無しさんNGNG
良書かもしれないが入門/通俗本でしかないので、とっととちゃんとした本を読むように。
0300297NGNG
Delphiの本はまだ無いのか・・・
オブジェクト指向の本と同様に、Delphiで本書いたらもうけるかも(偉い方おねがい)

『Java 言語で学ぶデザインパターン入門』 結城 浩(著) を入門書に
それ以降はまたいろいろ探して勉強に取り組みたいと思います

御回答、ありがうございました
0301デフォルトの名無しさんNGNG
http://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5B%A5%C7%A5%B6%A5%A4%A5%F3%A5%D1%A5%BF%A1%BC%A5%F3%5D%5D
0302デフォルトの名無しさんNGNG
XP真乳フェストって言うコンポーネント貼り付けてみたら
パネルとかが透明になってしまった。
コンポ削除したけど元に戻らないのはなぜ?
0303デフォルトの名無しさんNGNG
>>301
そちらはまともに保守されてないのでこっちがいいかも。
ttp://kakinotane.s7.xrea.com/dp/dp.html
0304303NGNG
既出だったね。すまん。
0305278NGNG
多様なご回答,ありがとうございます.

当方,Application ウィンドウの概念を理解していなかった様です.
動作の実現が難しいとしても,疑問は解決する事が出来ました.
どうも,有難うございました.
0306デフォルトの名無しさんNGNG
Windows 2003 serverにMultilingual Interface Pack日本語を被せて、
Delphiで作成したアプリを実行しましたが、
Quick Reportのプレビュー画面が、文字化け化けになってしまいました。
どうすれば対処出来るんでしょう。
0307デフォルトの名無しさんNGNG
>>306 ボーランドにバグレポートを出しつづけましょう。
0308デフォルトの名無しさんNGNG
デザインパターンとライブラリって何が違うんだ?
0309306NGNG
>>307
そんなことしても、何の解決にもなりません。
Quick Reportのプレビュー画面のフォントを調べたいんですが、
VCLフォルダにソースが無い。
0310デフォルトの名無しさんNGNG
> デザインパターンとライブラリって何が違うんだ?

まったくちがう。なにが同じなんだ?
0311デフォルトの名無しさんNGNG
http://hp.vector.co.jp/authors/VA009712/take/delphi/pointer.htm
ここに書いてある通りに追加するときにNewでメモリ領域を確保して
ListViewのOnDeletionでDisposeしているのですが
「〜回メモリーを解放し忘れています」とMemCheck2.0の中の人が怒ってしまいます。
どっちを信じるべきですか?
0312デフォルトの名無しさんNGNG
自分を信じること!
0313デフォルトの名無しさんNGNG
しょ(´・ω・`)ぼ(´・ω・`)ー(´・ω・`)ん
0314デフォルトの名無しさんNGNG
これは、前にも話題になったけど

Dispose(Item.Data);

ではダメで、New() するときに使った型にキャストして Dispose() する必要が
あるんじゃなかったか。

0315デフォルトの名無しさんNGNG
そのサイトの例だと

Dispose(PFavData(Item.Data));

だと。
0316311NGNG
>>315
ウホッ、イイ男!!
0317デフォルトの名無しさんNGNG
管理人に通報しておいてよね!
0318311NGNG
>>317
パリ旅行の話ばかりで書き込みづらい(´・ω・`)
0319デフォルトの名無しさんNGNG
>>318

http://pc2.2ch.net/test/read.cgi/tech/1076610073/311-316

を貼っておくといいのでは?
0320デフォルトの名無しさんNGNG
「ヲッチ先、荒らさず、マター…」

ヲッチ先じゃねーや(藁
0321275NGNG
印刷のイメージは

QuickReport1.QRPrinter.Canvas

ここにあるのでしょうか?

どなたかお願いいたします。
0322デフォルトの名無しさんNGNG
印刷のイメージは印刷するまでどこにもありません。
Printer.Canvas は印刷するデバイスコンテキストをカプセル化したもので
印刷イメージではありません。
0323239NGNG
とても遅くなってしまいましたが、レスしてくださった方ありがとうございました。
>241 の方法を試してみましたが上手くいかず、>242 の方法を取り入れた
折衷案で、どうにかエラーが出ないようにしました。

1.新ボタンクリック→2.不可視に→3.次の新ボタンクリック
→4.直前に不可視にしたボタン破棄→5.今クリックしたボタンを不可視に→3へ

と言った方法です。
アプリケーションを作る時にこの方法が耐えられるかどうか分かりませんが、
とにかくすっきりしました。ありがとうございました。

また、質問した時の廃棄のコードは>251と全く同じでした。
0324デフォルトの名無しさんNGNG
>241 の方法を試してみましたが上手くいかず

これは不思議です。コードをしめしてくださいませんか。
0325311NGNG
>>319
通報しますた
0326デフォルトの名無しさんNGNG
質問があります。
西暦の4桁とその月だけほしいときは、どのようにすればいいですか?
0327デフォルトの名無しさんNGNG
ヘルプの”日付時刻ルーチン”を辿って組み合わせを考えてみたら?
0328326NGNG
>>327

組み合わせてできました。ありがとうございました。
0329デフォルトの名無しさんNGNG
電卓のソフトを作ってみてるんですが、Edit右寄せと数字しか入らないようにするやり方を教えてください。
0330デフォルトの名無しさんNGNG
数字しか入らないようにするには MaskEditを使えばいいでしょう。 右寄せは

TEdit/TMemoがラップしてるのは Windows EDITコントロールです。
そこで、Delphi-CDROMに付属している日本語WinAPIヘルプから
"コントロールの概要" "エディット コントロールの概要"を見てみましょう。
ES_RIGHTというスタイルを選べば、右寄せに出来る事が判るでしょう?

後は、
TCustomMemo.CreateParams を眺めて
TMaskEditにこの機能を付ければよいのです
0331デフォルトの名無しさんNGNG
>ES_RIGHTというスタイルを選べば、右寄せに出来る事が判るでしょう?

Win95,98,Me では一行エディットで右寄せにできません
■ このスレッドは過去ログ倉庫に格納されています