入力ボックスはプログラムのユーザからテキスト形式の情報を求めます。入力ボックスを開くには、グローバル関数 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);