文字列がエディットボックス領域内かを求めるには? – プログラミング – Home

文字列がエディットボックス領域内かを求...
 
通知
すべてクリア

[解決済] 文字列がエディットボックス領域内かを求めるには?


いなば
 いなば
(@いなば)
ゲスト
結合: 23年前
投稿: 2
Topic starter  

いつも参考にしております。
エディットボックスにファイルの絶対パスを表示し該当の
文字列がエディットボックスの領域より長ければ絶対パスの
テキストをツールチップで表示しようと思っています。
現在は strlen で絶対パスが30バイト以上なら・・・と
しているのですが、文字列がエディットボックスに収まらな
ければ・・・とかいう判定ってできないのでしょうか?
もしくは文字列の物理的な長さがわかればエディットボックス
の領域(CRectとか)と比較できると思うのですが。
(CRectでとったサイズの単位と同じかどうかわかりませんが)
CStringやCEditのクラスメンバを見てみましたがそれらしい
ものが見当たりません。
よい方法をご存知でしたらお教えください。

環境は
Win98
VC++6.0
MFC 使用 
です。


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

こんな方法はどうでしょうか?

その1)CEdit::PosFromChar()で、一番後ろの文字の座標を求め、
 エディットボックスの表示域をはみ出ているかどうか調べる。

その2)CDC::GetTextExtent()で、文字列の表示サイズを求めて、
 エディットボックスの表示サイズより大きいかどうか調べる。


返信引用
いなば
 いなば
(@いなば)
ゲスト
結合: 23年前
投稿: 2
Topic starter  

dairygoodsさんありがとうございます。
返事おそくなり申し訳ないです。
風邪でダウンしてました。早速ためしてみます。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました