# Interface to Windows Dialog Boxes

**URL:** <https://fortran-lang.discourse.group/t/interface-to-windows-dialog-boxes/383>\
**Category:** Help\
**Created:** [November 1, 2020, 12:23am UTC](https://fortran-lang.discourse.group/t/interface-to-windows-dialog-boxes/383 "2020-11-01T00:23:15Z")\
**Posts on this page:** 4\
**Page:** 2

<div class="post-metadata">

**Author:** ![yomgui](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/yomgui/32/2828_2.png) [@yomgui](https://fortran-lang.discourse.group/u/yomgui)\
**Post date:** [July 19, 2023, 7:09am UTC](https://fortran-lang.discourse.group/t/interface-to-windows-dialog-boxes/383/21 "2023-07-19T07:09:47Z")

</div>

[tinyfiledialogs](http://tinyfiledialogs.sourceforge.net/) is a cross-platform C library that provides modal dialogs and file dialogs. I’ve recently completed the interface module to call this code from Fortran.

```auto
	! calling function tinyfd_inputbox
	write(*,'(A)') "Enter tinyfd_inputbox()"
	aTitle = "a Title" // char(0)
	aMessage = "a Message" // char(0)
	aDefaultInput = "an Input" // char(0)
	cpointer = tinyfd_inputBox(aTitle, aMessage, c_loc(aDefaultInput) )
	! or for a password box: cpointer = tinyfd_inputbox(atitle, amessage, c_null_ptr )
	if ( c_associated(cpointer) ) then
                    ! Convert C Pointer to Fortran pointer
		call c_f_pointer(cpointer, fpointer) 
                    ! Remove NULL character at the end
		string = fpointer(1:index(fpointer,c_null_char)-1) 
		write (*,'(A)') string
	endif

```

tinyfiledialogs in Fortran handles char strings as UTF-8 (on windows and on unix).

---

<div class="post-metadata">

**Author:** ![Ashok](https://avatars.discourse-cdn.com/v4/letter/a/ed655f/32.png) [@Ashok](https://fortran-lang.discourse.group/u/Ashok)\
**Post date:** [July 19, 2023, 10:44am UTC](https://fortran-lang.discourse.group/t/interface-to-windows-dialog-boxes/383/22 "2023-07-19T10:44:01Z")

</div>

Hi @sblionel - is there a good reference with examples for using windows graphics API from Fortran?

---

<div class="post-metadata">

**Author:** ![sblionel](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/sblionel/32/853_2.png) [@sblionel](https://fortran-lang.discourse.group/u/sblionel)\
**Post date:** [July 19, 2023, 8:26pm UTC](https://fortran-lang.discourse.group/t/interface-to-windows-dialog-boxes/383/23 "2023-07-19T20:26:40Z")

</div>

The only one I know of is [https://www.amazon.com/Compaq-Visual-Fortran-Creating-Applications/dp/1555582494](https://www.amazon.com/Compaq-Visual-Fortran-Creating-Applications/dp/1555582494) , but there are several examples provided in the Intel Samples Bundle [https://software.intel.com/content/www/us/en/develop/download/776976.html](https://software.intel.com/content/www/us/en/develop/download/776976.html)

I also recommend reading [https://www.intel.com/content/www/us/en/docs/fortran-compiler/developer-reference-build-windows-applications/15-0.html](https://www.intel.com/content/www/us/en/docs/fortran-compiler/developer-reference-build-windows-applications/15-0.html)

---

<div class="post-metadata">

**Author:** ![kuehro](https://avatars.discourse-cdn.com/v4/letter/k/f14d63/32.png) [@kuehro](https://fortran-lang.discourse.group/u/kuehro)\
**Post date:** [July 24, 2023, 11:04am UTC](https://fortran-lang.discourse.group/t/interface-to-windows-dialog-boxes/383/24 "2023-07-24T11:04:40Z")

</div>

It works as well with gfortran 13.1.0 (msys2) linking -lcomdlg32

Thanks a lot.

Kai-Uwe

[Previous page](https://fortran-lang.discourse.group/t/interface-to-windows-dialog-boxes/383.md?page=1)
