組み込みダイアログボックス
ダイアログボックス
入力ボックス数値ボックスストリングボックス入力数値入力ストリング
入力ボックスはプログラムのユーザからテキスト形式の情報を求めます。入力ボックスを開くには、グローバル関数 InputBox が使われます。
// stringを入力
string strName = InputBox("Please enter your name", "");
printf("Name is %s.\n", strName);
// 数値を入力
double dVal = InputBox(0, "Please enter a value");
printf("Value is %g.\n", dVal);
メッセージボックス
メッセージボックスは、情報を表示したり、ユーザに選択を促すために使われます。 表示する情報は、操作を続ける前にユーザに注意を促すための重要なものにします。
最初のサンプルは、OKボタンだけを持つ単純なメッセージボックスで、ファイルのダウンロードが成功したことを通知します。
string strTitle = "File Download";
string strMsg = "Your file downloaded successfully.";
MessageBox(GetWindow(), strMsg, strTitle, MB_OK);
次のサンプルは、OKとキャンセルボタンを持つ感嘆符のアイコン付きメッセージボックスで、ユーザに操作を元に戻すことができないという注意を促します。 ユーザは操作を続行するか、キャンセルするかを選択できます。
string strTitle = "Delete Data";
string strMsg = "You will not be able to undo this change.";
int nMB = MB_OKCANCEL|MB_ICONEXCLAMATION;
if( IDOK == MessageBox(GetWindow(), strMsg, strTitle, nMB) )
out_str("Data has been deleted");
次の例は、はい-いいえのボタンを持つ疑問符のアイコン付きのメッセージボックスです。 これは、ユーザに操作を続行するかどうかを尋ねるのに使用しています。
string strTitle = "Close Windows";
string strMsg = "Are you sure you want to close all windows?";
int nMB = MB_YESNO|MB_ICONQUESTION;
if( IDYES == MessageBox(GetWindow(), strMsg, strTitle, nMB) )
out_str("All windows have been closed.");
次の例では、プライベートリマインダメッセージダイアログを表示します。Iniファイルは、ダイアログを初期化するために使用されます。iniファイルの各セクションは、単一のメッセージに使用されます。
/* Example Dialog.ini file in UFF.
[MyMessage]
;Title = My Reminder
Msg = This is my message.
;Btns = 4 for Yes No buttons
Btns = 4
*/
void PrivateReminderMessage_ex1()
{
string iniFileName = GetOriginPath(ORIGIN_PATH_USER) + "Dialog.ini";
int nRet = PrivateReminderMessage("MyMessage", iniFileName);
printf("User chose %d\n", nRet);
}
プログレスボックス
プログレスボックスは、ソフトウェアがデータを処理中であることを示す小さなダイアログボックスです。このダイアログボックスは、処理の進行状況の割合を表示するプログレスバーを含みます。プログレスダイアログは、通常、反復ループに使用します。
int iMax = 10, iMin = 0;
progressBox prgbBox("This is a ProgressBox example:");
prgbBox.SetRange(iMin, iMax);
for (int ii=iMin; ii<=iMax; ii++)
{
if(prgbBox.Set(ii))
printf("Hi, it is now at %d.\n", ii);
else
{
out_str("User abort!"); // Cancel ボタンをクリックして停止
break;
}
LT_execute("sec -p 0.5");
}
ファイルダイアログ
Origin Cは、すべてに共通のファイルダイアログの関数を提供しています。 これには、1つのファイルを開く、複数ファイルを開く、ファイルを保存する、フォルダを選択するダイアログが含まれます。 次のセクションは、自分自身のアプリケーションでこれらのダイアログを使用する方法を示します。
ファイルを開くダイアログ
StringArray saFiletypes(3);
saFiletypes[0]="[Project (*.OPJ)] *.OPJ";
saFiletypes[1]="[Old version (*.ORG)] *.ORG";
saFiletypes[2]="[Worksheets (*.OGW)] *.OGW";
string strPath = GetOpenBox( saFiletypes, GetAppPath(false) );
out_str(strPath);
複数ファイルを開くダイアログ
StringArray saFilePaths;
StringArray saFileTypes(3);
saFileTypes[0]="[Project (*.OPJ)] *.OPJ";
saFileTypes[1]="[Old version (*.ORG)] *.ORG";
saFileTypes[2]="[Worksheets (*.OGW)] *.OGW";
// Ctrl または Shirt キーで複数ファイルを選択
int iNumSelFiles = GetMultiOpenBox(saFilePaths, saFileTypes, GetAppPath(false));
ファイルを保存ダイアログ
string strDefaultFilename = "Origin";
FDLogUseGroup nFDLogUseGroup = FDLOG_ASCII; // ASCII ファイルグループ
string strPath = GetSaveAsBox(nFDLogUseGroup,GetAppPath(false),strDefaultFilename);
out_str( strPath );
パスブラウザダイアログ
string strPath = BrowseGetPath(GetAppPath() + "OriginC\\", "This is an example");
out_str(strPath);
|