# KixForm, a (little) GUI for Ruby / win?

**URL:** <https://www.ruby-forum.com/t/kixform-a-little-gui-for-ruby-win/51441>\
**Category:** Ruby\
**Created:** [December 31, 2005, 12:12pm UTC](https://www.ruby-forum.com/t/kixform-a-little-gui-for-ruby-win/51441 "2005-12-31T12:12:06Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Do\_Re\_Mi\_chel\_La\_Si](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e95f7d/32.png) [@Do\_Re\_Mi\_chel\_La\_Si](https://www.ruby-forum.com/u/Do_Re_Mi_chel_La_Si)\
**Post date:** [December 31, 2005, 12:12pm UTC](https://www.ruby-forum.com/t/kixform-a-little-gui-for-ruby-win/51441/1 "2005-12-31T12:12:06Z")

</div>

Hi!

I use Python, but, I read, from time to time, the news of the Ruby  
cousin.

I had found (since only 2 hours) that KixForm can to do used by Python +  
PyWin32.

But, that must adapt easily to Ruby.

At the end of the message, a very small example (in Python)

It’s an Active-X, in one file (.DLL), and one help-file (.CHM)

It is limited, but simple

Download here :  
[http://www.kixforms.org/assets/files/kixforms/KiXforms\_230.zip](http://www.kixforms.org/assets/files/kixforms/KiXforms_230.zip)

@-salutations

Michel Claveau

# -_- coding: cp1252 -_-

import time  
import win32com.client

kgui = win32com.client.Dispatch(‘Kixtart.System’)

def rgb(r,g,b):  
return (r\*256+g)\*256+b

form=kgui.Form()  
form.ClientSize=(520,220)  
form.Font = “Verdana”  
form.Text = “Titre de la fenêtre”

label = form.Controls.Label()  
label.Font = “Verdana”,  
label.FontSize = 18  
label.ForeColor = rgb(127,0,0)  
label.FontBold = True  
label.Text = “(vide)”  
label.Top=40  
label.Left=40  
label.Size=(550,30)

bouton1= form.Controls.Button()  
bouton1.Size=(80,30)  
bouton1.Text=“vraiment”  
bouton1.Font = “Verdana”,  
bouton1.FontSize = 12  
bouton1.OnClick=“BT1”  
bouton1.Left=20  
bouton1.Top=100

bouton2= form.Controls.Button()  
bouton2.Size=(80,30)  
bouton2.Text=“On”  
bouton2.Font = “Verdana”,  
bouton2.FontSize = 12  
bouton2.OnClick=“BT2”  
bouton2.Left=120  
bouton2.Top=100

bouton3= form.Controls.Button()  
bouton3.Size=(80,30)  
bouton3.Text=“a”  
bouton3.Font = “Verdana”,  
bouton3.FontSize = 12  
bouton3.OnClick=“BT3”  
bouton3.Left=220  
bouton3.Top=100

bouton4= form.Controls.Button()  
bouton4.Size=(80,30)  
bouton4.Text=“soif.”  
bouton4.Font = “Verdana”,  
bouton4.FontSize = 12  
bouton4.OnClick=“BT4”  
bouton4.Left=320  
bouton4.Top=100

bouton5= form.Controls.Button()  
bouton5.Size=(80,30)  
bouton5.Text=“très”  
bouton5.Font = “Verdana”,  
bouton5.FontSize = 12  
bouton5.OnClick=“BT5”  
bouton5.Left=420  
bouton5.Top=100

btquit= form.Controls.Button()  
btquit.Size=(160,30)  
btquit.Text="Terminer "  
btquit.Font = “Verdana”,  
btquit.FontBold = True  
btquit.FontItalic = True  
btquit.FontSize = 18  
btquit.OnClick=“QUIT”  
btquit.Top=170  
btquit.Left=180

form.Show()  
txt=‘’  
while form.Visible:  
action=kgui.Application.DoEvents()  
if action==‘BT1’: txt=txt+’ ‘+bouton1.Text  
if action==‘BT2’: txt=txt+’ ‘+bouton2.Text  
if action==‘BT3’: txt=txt+’ ‘+bouton3.Text  
if action==‘BT4’: txt=txt+’ ‘+bouton4.Text  
if action==‘BT5’: txt=txt+’ '+bouton5.Text  
if action==“QUIT”: break  
label.Text=txt  
time.sleep(0.5)

print ‘Résultat :’,label.Text
