フォーラム


ゲスト  

ようこそ ゲスト さん。このフォーラムに投稿するには 登録が必要です。

ページ: 1 2 [3] 4 5
トピック: [Software] TEditor ver2.52 Unicode Edition
DEKO
管理者
投稿数: 2383
TEditor ver2.52 Unicode Edition Rel.19
on: 2014/08/11 11:40 Mon

[変更点 (2013/08/11)]

  • heStringList.pas が 64bit コンパイラでエラーになる問題を修正。

[64bit コンパイラでエラー]
ポインタを Integer でキャストしてある箇所があったので、NativeInt で置換しました。

DEKO
管理者
投稿数: 2383
TEditor ver2.52 Unicode Edition Rel.20
on: 2014/08/11 20:49 Mon

[変更点 (2013/08/11)]

  • heColorManager.pas で背景色を変更すると前景色が変更される問題を修正。
DEKO
管理者
投稿数: 2383
TEditor ver2.52 Unicode Edition Rel.21
on: 2014/08/12 23:21 Tue

[変更点 (2013/08/12)]

  • 設計時パッケージと実行時パッケージに分離した。
  • TCppFountain が 64bit 対応になっていなかった問題を修正。

Download: http://ht-deko.minim.ne.jp/software/hedit252U_modified.zip

[パッケージ]
設計時パッケージと実行時パッケージを分離しました。

以前のバージョンの  TEditor ver2.52 Unicode Edition をインストールしている場合には
[コンポーネント | パッケージのインストール] で古いパッケージを削除してください。

 
Packages フォルダにあるパッケージを開いてインストールしてください。

1.HEditor_252U_???.groupproj を開く
2.rtlHEditor_252U_??? (歯車のないパッケージアイコン) を [ビルド] (2009 は [再構築])
3.dclHEditor_252U_??? (歯車のあるパッケージアイコン) を [インストール]
(??? はお持ちの Delphi のバージョンです)

DEKO
管理者
投稿数: 2383
TEditor ver2.52 Unicode Edition Rel.22
on: 2014/08/16 00:04 Sat

[変更点 (2013/08/15)]

  • スクロールバーを VCL Style 対応にした。
  • TDFMFountain を追加 (コンポーネントとしては登録されない)

[スクロールバーと VCL Style]
VCL スタイルを使うとスクロールバーが浮いてしまうので、スクロールバーだけは VCL スタイルで描画するようにしました。他の部分は VCL スタイルの影響を受けません…どうしてかというと Ruler や LeftBar 等の処理に困るのと、TEditor の Tips には自前で描画するものが多いので VCL スタイルの影響を受けるとメンドイ事になるからです。

[TDFMFountain]
これは "使う人がまずいない" と思われるのでコンポーネントにはしてありませんし、パッケージにも含めてありません。

DEKO
管理者
投稿数: 2383
TEditor ver2.52 Unicode Edition Rel.23
on: 2014/08/16 02:49 Sat

[変更点 (2013/08/16)]

  • マウスホイール処理を組み込んだ。

[マウスホイール処理]
今時分、OS がマウスホイールに対応していないなんて事はないので組み込みました。

[ホイールマウスへの対応は (TEditor Q&A)]
http://homepage3.nifty.com/~katsuhiko/heditqa.html#ans15

これをやる必要がなくなったという事です。

  • ホイール回転: コントロールパネルのマウス設定により行スクロールまたはページスクロール
  • 〔Ctrl〕+ホイール回転: ページスクロール

通常だとホイール回転で三行スクロール、〔Ctrl〕+ホイール回転でページスクロールとなります。

DEKO
管理者
投稿数: 2383
マウスホイールの処理
on: 2014/08/16 09:03 Sat

ちょっと面白い記述になっています。普通に書くとこうなりますが、

var
i, Cnt: Integer;
begin
SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, Cnt, 0);
if (WheelDelta > 0) then
begin
if (ssCtrl in Shift) or (Cnt = -1) then
Sendmessage(Self.Handle, WM_VSCROLL, SB_PAGEDOWN, 0)
else
begin
for i:=1 to Cnt do
Sendmessage(Self.Handle, VSCROLL, SB_LINEDOWN, 0);
end;
end
else
begin
if (ssCtrl in Shift) or (Cnt = -1) then
Sendmessage(Self.Handle, WM_VSCROLL, SB_PAGEUP, 0)
else
begin
for i:=1 to Cnt do
Sendmessage(Self.Handle,WM_VSCROLL, SB_LINEUP, 0);
end;
end;
end;

 
こうなっています。

const
StateNumber: array [Boolean, Boolean] of WPARAM =
((SB_LINEDOWN, SB_PAGEDOWN),(SB_LINEUP, SB_PAGEUP));
var
i, Cnt: Integer;
OP: WPARAM;
begin
SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, Cnt, 0);
OP := StateNumber[(WheelDelta > 0), (ssCtrl in Shift) or (Cnt = -1)];
case OP of
SB_LINEUP,
SB_LINEDOWN:
for i:=1 to Cnt do
Sendmessage(Self.Handle, WM_VSCROLL, OP, 0);
SB_PAGEUP,
SB_PAGEDOWN:
Sendmessage(Self.Handle, WM_VSCROLL, OP, 0)
end;
end;

 
この書き方を知らない方には???なコードかもしれませんね。

なお、SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, Cnt, 0); はホイールがページスクロールの場合には Cnt に -1 が返り、行スクロールの場合には設定されたスクロール行数が返ります。

See Also:
[Delphi と 三項演算子 (条件演算子) (Delphi Forum)]
http://ht-deko.minim.ne.jp/delphiforum/?vasthtmlaction=viewtopic&t=270

[SystemParametersInfo function (Microsoft)]
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724947%28v=vs.85%29.aspx

DEKO
管理者
投稿数: 2383
TEditor ver2.52 Unicode Edition Rel.24
on: 2014/08/17 20:02 Sun

[変更点 (2013/08/17)]

  • TXMLFountain を追加。
  • Samples のプレビューハンドラのサンプルを更新。RAD Studio のプロジェクトファイルやフォームファイルもプレビューできます。

[RAD Studio のプロジェクトファイルやフォームファイル]
DFM Founatin と XML Fountain が揃えば RAD Studio の殆どの主要な構成ファイルをプレビューできますよネ。

DEKO
管理者
投稿数: 2383
TEditor ver2.52 Unicode Edition Rel.25
on: 2014/08/18 21:30 Mon

[変更点 (2013/08/18)]

  • デフォルトのポップアップメニューのショートカットが効かなかった問題を修正。
  • フォーカスをロストした後にマウスでクリックしてもキャレットが表示されない問題を修正。
  • Delphi Fountain の予約語を追加。
DEKO
管理者
投稿数: 2383
W1025 class constructor : この仕様はサポートされていません
on: 2014/08/19 00:37 Tue

TEditor ver2.52 Unicode Edition のパッケージをビルドしても htSearch.pas 以外はワーニングが殆ど出ない (Extras と差し替えれば htSearch.pas も出ない) ハズですが、

[dcc32 警告] HEditor.pas(1): W1025 class constructor : この仕様はサポートされていません

 
設計時パッケージのビルドでこのようなエラーが出る事があります。これは [プロジェクト | オプション] の [Delphi コンパイラ | 出力 - C/C++] にある "C/C++ 出力ファイルの生成" を "DCU のみ生成" にすれば出なくなります。

Report No: 87693            Status: Open
Project Options for Packages doesn't load default options for C/C++ output file generation
http://qc.embarcadero.com/wc/qcmain.aspx?d=87693
QCWIN:Defect_No=87693

 
この件は QC にも入っています。

sibazaki
メンバー
投稿数: 2
Re: [Software] TEditor ver2.52 Unicode Edition
on: 2014/09/02 13:12 Tue

・等幅フォントでワードラップしたとき、折り返した行末にある文字の右側1pxが欠ける

 上記のような現象を確認したので、お知らせしておきます。
 欠けてしまうのは、たとえば、下記のような文字です。
 ・MSゴシック・16px(ビットマップフォント)・U+FF3F(全角のアンダーライン)
  →TEditorでは15pxしか表示されません

 確認した環境は、下記のとおりです。
 ・TEditor 2.52 Unicode Rel.25
  →TEditorMarksはすべて表示しない・禁則処理しない
 ・Delphi XE Starter
 ・Windows 7 64bit

 確認したコードは、下記のとおりです。とりあえず。


Editor1.Align := alClient;
Editor1.Font.Name := 'MS ゴシック';
Editor1.Font.Size := 12;
Editor1.WordWrap := True;
Editor1.WrapOption.WrapByte := 80;
Editor1.Lines.LoadFromFile('hoge.txt');
ページ: 1 2 [3] 4 5

WP Forum Server by ForumPress | LucidCrew
バージョン: 1.7.5 ; ページロード: 0.081 sec.