マウスで移動できるカスタムコントロールの作成方法
PowerApps でマウスで移動できるカスタムコントロールを作成する方法は、一般的に次の手順に従います。新しいカスタム コントロールを作成する:PowerApps Studio で、画面のコンテキスト メニューから "Custom Gallery" (カスタム ギャラリー) を追加します。カスタム コントロールをデザインする:カスタム コントロールのデザイン モードで、移動可能なオブジェクト (例: ラベル、アイコン、ボタンなど) を配置します。必要に応じて、オブジェクトに動作や外観を追加します。ドラッグ アクションを実装する:カスタム コントロールに、マウスのドラッグ イベントを追加して、オブジェクトの位置を更新します。ドラッグの開始、移動中、終了の各状態に対する動作を定義します。以下は、これらの手順を基にした例です。ここでは、カスタム ギャラリーに移動可能なラベルを配置して、マウスでドラッグ可能にします。カスタム コントロールの作成:PowerApps Studio で、新しい画面を開きます。画面上に "Custom Gallery" を追加します。デザイン:"Custom Gallery" にラベルを追加し、移動したいオブジェクトを配置します。ドラッグ アクションの実装:ラベルの OnSelect, OnStartDrag, OnDrag, OnEndDrag イベントを使用して、ドラッグの開始、移動中、終了の各状態に応じたアクションを定義します。以下は、この手順を基にした PowerApps のコード例です。PowerAppsCopy code// ドラッグが開始された時の処理Label1.OnSelect = Set(varDraggedItem, ThisItem); Set(varIsDragging, true)// マウスが動いた時の処理Label1.OnMouseMove = If(varIsDragging, UpdateContext({varDraggedItemX: MouseX() - varMouseOffsetX}); UpdateContext({varDraggedItemY: MouseY() - varMouseOffsetY}) )// ドラッグが終了した時の処理Label1.OnMouseUp = Set(varIsDragging, false)// ラベルの位置を更新する処理Label1.X = If(varIsDragging, varDraggedItemX, Parent.X);Label1.Y = If(varIsDragging, varDraggedItemY, Parent.Y)// ラベルがドラッグされる際に、マウスの位置とラベルの位置の差分を取得Label1.OnMouseDown = If(varIsDragging = false, Set(varMouseOffsetX, MouseX() - Label1.X); Set(varMouseOffsetY, MouseY() - Label1.Y) )このコードでは、マウスでラベルをドラッグ可能にします。ラベルがドラッグされると、その位置が動的に更新されます。