Я пытаюсь создать код на Фортране, показывающий какое-то диалоговое окно для сред Windows. Например, мне удалось создать простое диалоговое окно «ОК / Отмена», как показано ниже.
PROGRAM test_dialog
!
implicit none
!
write(*,*) OKCancelDialog( "Continue?"//achar(0), "Test dialog"//achar(0) )
!
CONTAINS
!
FUNCTION OkCancelDialog( message, dlg_title ) RESULT( res )
!
use ifwin
!
implicit none
!
character( len = * ), intent( in ) :: message
character( len = * ), intent( in ) :: dlg_title
integer :: res
!
integer( SINT ) :: ret
!
ret = MessageBox( GetForegroundWindow(), message, dlg_title, MB_ICONQUESTION + MB_OKCANCEL )
!
res = 0
select case( ret )
case( IDOK )
res = 1
case( IDCANCEL )
res = 0
case default
res = 0
end select
!
END FUNCTION OkCancelDialog
!
END PROGRAM test_dialog
Но я не знаю, как создать диалоговое окно для сбора пользовательского ввода (например, числа или текста), например, после прикрепленного изображения, путем вызова Win32 API (или других способов) из Fortran.
У кого-нибудь есть хорошая идея для этой цели? Будет очень полезно, если вы поделитесь своей мудростью (например, пример кода).