-3

今、私は自分のアプリをタブレット PC に適応させています。画面が回転したときにフォームを固定するにはどうすればよいですか善良な人々は、アプリを縦向きに適応させる必要があると言いますが、彼らは正しいです。

一部のフォームは非常に特殊であり、縦向きに再設計することは非常に困難 (おそらく不可能) です。そのため、アプリが横向きでのみ機能するという錯覚を作り出すことができると思います。

そのため、Delphi XE2 で標準の VCL コンポーネントをローテーションする必要があります。たとえば、標準のメモの場合、テキストを左から右 (または右から左) および上から下 (および下から上) だけでなく書く必要があります。

また、回転ボタンが必要です。現在、標準の TButton と TRxSpeedButton を使用しています。

  1. TButton のテキストを回転させるには十分だと思いますが、これを行う方法がわかりません。

  2. TRxSpeedButton の場合、グリフを使用します。理論的には、canvas をオーバーライドして pic を変更できるかもしれません。もう 1 つの方法は、2 つのボタン (縦向き用と横向き用の 1 つ。それぞれに特別なグリフがあります) を作成し、それらの可視性を変更することです。しかし、私は 2 番目のバリアントが好きではありません。

アドバイスをありがとう。

4

4 に答える 4

0

VCL はこのために構築されていないため、RTL のプレゼンテーション レイヤーに大きな作業が行われなければ、そのようなことが起こるとは思えません。

は、これが可能なスキニング エンジンでしたが、基本的に RTL にパッチを適用し、レンダリングを引き継ぎました。回転データは、実際のクラスとは別に設定する必要のある各コントロールのルックアップ テーブルに保持されていました。

Delphi が Smart Pascal のように部分クラスをサポートしていれば、おそらく (アーキテクチャで許可されていれば) これを後置することができます。しかし、これを書いている時点では、VCL はこの目的のために作られているわけではありません。これを入力するときにトゥイーンライブラリを作成しているので、これを調べました。

于 2018-09-09T01:49:45.163 に答える