QHTM in HMG

HMG Samples and Enhancements

Moderator: Rathinagiri

User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

QHTM in HMG

Post by Pablo César »

In my app TableMaker and in View_Build_Log, I felt the needs to use a HTML viewer. And I saw that was not implemented in HMG as was in MiniGui of our friend Grigory Fitalov.
QHTM - Quick, Light HTML Control

What does it do ?

QHTM is a control you can use to display HTML on a dialog or in your main window of your applications. Adding it into your application is as simple as either using CreateWindow or adding the control to your dialogs. You can give it plain HTML text by simply using the SetWindowText(...) API, or, if you have more that just text you want to use you can use the single API that will read from your resources. If that is not enough it will also read files from a local drive.

QHTM started life as a part of one of my own projects, it has since grown into a full control that anyone can download and use.

QHTM is a DLL of about 200k, with no requirements for any other DLLs or support files.

QHTM is not a browser, it will not directly display anything from the internet, nor will it directly load web pages from a hard drive. It is primarily designed as a static control, a static control that can display PNG files, multiple tables of data with all of the HTML formatting you would expect.

You could use QHTM as an enhanced static control, QHTM HTML input does not have to be a full HTML file, something like "This is <b>bold</b>" is enough. I use QHTM to display data in a better way than just blaming text onto a dialog. You can use QHTM to allow the user to make selections by clicking on hyperlinks. You could use QHTM as a groovy version of scrolling credits on your about box.

QHTM is useable from any Win32 programming language that can call a 'C' callable function, can register a Windows message and use CreateWindow. It does not use MFC but is quite happy being used from an MFC or a Win32 API application.


HTML Support and Restrictions:

Most of the restrictions are related to either speed or complexity. In most cases they will not trouble you at all. If any of the restrictions or unsupported features bother you then drop me a line and I am sure we can work something out.

Image support is currently limited to PNG, I cannot do GIF due to the licencing issues with UNISYS. Transparent images are not yet supported. PNG does not properly support animation so there is not yet any animation. Both of these will be resolved in the near future.

QHTM displays tables, and tables (or entire documents) within tables etc. It does not have column or row spanning. It will treat the first row description as the description for the entire table. Table borders are not yet supported.

Background bitmaps are not supported. I have no plans to support this.

QHTM has no forms support. There is no scripting or dynamic HTML.

For a full list of all the supprted tags see Tags.doc in the ZIP file below.

Copyright: QHTM is Copyright Russell Freeman 1999.

If you redistribute QHTM, you should redistribute the whole library including documentation and copyright. In no event may any part of the library be distributed without this copyright notice.
If you use of QHTM in your program, you must acknowledge this, preferably in the about box and the documentation. This should take the form of "contains QHTM code. QHTM is copyright (c) 1999 Russell Freeman.". The documentation must also contain this notice.

The QHTM code is supplied "AS IS". Russell Freeman and other authors disclaim all warranties, expressed or implied, including, without limitation, the warranties of merchantability and of fitness for any purpose. The authors assume no liability for direct, indirect, incidental, special, exemplary, or consequential damages, which may result from the use of QHTM, even if advised of the possibility of such damage.

QHTM contains paintlib code. paintlib is copyright (c) 1996-1998 Ulrich von Zadow.


Downloading: If you would like to be informed of updates to QHTM then send an email to russf@gipsysoft.com.
QHTM it is a Gipsysoft free version has all of the features which you are allowed to use for HTML and images files are part of the resources so no external files are needed.
Function Reference
QHTM Types
Message Reference - A list of the messages that can be sent to QHTM and what they mean. All of the messages have message cracker APIs too.
More details you can find at: http://www.gipsysoft.com

Now I got something rudimentary in this my first version, but at least it is working. It was not fully implemented with all QHTM functions but from we have a begining.
I hope you enjoy the proposed as a learning. ;)

<Attached file removed, see last message with now release>
Last edited by Pablo César on Tue Dec 18, 2012 1:43 pm, edited 18 times in total.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

QHTM in HMG

Post by Pablo César »

You can test this Demo passing parameter with name o htm or html file (must be will full path in case not been in same executable's folder).

There is an ErrorLog.Htm file in current. So, can be passed on Command Line:

DEMO ErrorLog.Htm <Enter>

Then you also will see ErrorLog.Htm ! :)

There are many things that needs to compatibilize with HMG, one of the most important is to Get handle of fonts also include as new compounnent probably as an UCI and then could it be recognizeble in HMG. Well, I think many colleagues could help int his... :roll:
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

QHTM in HMG

Post by Pablo César »

No comments received from colleagues... :(

I got my own UCI for HTM. I generated libqhtm.a (my first time to build a HMG lib). Now this DEMO2 is resizable when ON SIZE and ON MAXIMIZE.

The main trouble is to set fonts proprieties. Also I need to finish html printing bu QHTM.

<Attached file removed, see last message with now release>
Last edited by Pablo César on Wed Dec 12, 2012 8:00 pm, edited 1 time in total.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Re: QHTM in HMG

Post by Pablo César »

Mr. Rathinagiri, do you believe this sample could be usefull or important to include at next HMG releases ? Do you think we could add this lib and let QHTM component as User.Component sample ?
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
Rathinagiri
Posts: 5471
Joined: Tue Jul 29, 2008 6:30 pm
DBs Used: MariaDB, SQLite, SQLCipher and MySQL
Location: Sivakasi, India
Contact:

Re: QHTM in HMG

Post by Rathinagiri »

Dear Pablo,

I think this library is of great importance in this web world.

Generic and special Reports can be created in HTML format and sent via email. For that this library is of much use.

In the next version I will add this feature in HFCL.
East or West HMG is the Best.
South or North HMG is worth.
...the possibilities are endless.
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

QHTM in HMG

Post by Pablo César »

Ohh thank you Rathinagiri for your prompt response !

This lib is very usefull when you want to avoid to use internet browse. Because do not need to use IE, Google Chrome, FireFox Mozilla, Opera...

I will need to make control of fonts, but seems quite so difficult to apply any changing at font of HMG enviroment. I also need to make it print from html.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
danielmaximiliano
Posts: 2612
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: QHTM in HMG

Post by danielmaximiliano »

Pablo César wrote:No comments received from colleagues... :(
Hola Pablo: Su aplicaciónes son importantes para mucha gente, usted invierte mucho tiempo en ello y no pide nada a cambio,
simplemente publica el mismo para beneficio de la comunidad dentro y fuera de www.hmgforum.com

muchos como yo le agradecen por ello.
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
User avatar
mol
Posts: 3720
Joined: Thu Sep 11, 2008 5:31 am
Location: Myszków, Poland
Contact:

Re: QHTM in HMG

Post by mol »

I've tested it, but I had problems with national fonts and CSS.
Is it possible to rsolve these problems?
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

QHTM in HMG

Post by Pablo César »

Ahhh gracias Daniel por tus lindas palabras !

La verdadera fuerza motriz que me encausa a realizar cosas nuevas, son las manifestaciones de los colegas. Porque tambien lo hago por mi uso personal y compartir nos engrandece a todos.

Criticas e ideas son bien venidas tambien !

---

Ahhh thanks Daniel for your kind words!

The real driving force which is absolutely necessary for me to make new things are manifestations of my colleagues. Because I do it also for my personal use and share with all of us makes growing up all together.

Reviews and good ideas are also well coming too!
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
esgici
Posts: 4543
Joined: Wed Jul 30, 2008 9:17 pm
DBs Used: DBF
Location: iskenderun / Turkiye
Contact:

Re: QHTM in HMG

Post by esgici »

Pablo César wrote:No comments received from colleagues... :(
danielmaximiliano wrote:Hola Pablo: Su aplicaciónes son importantes para mucha gente, usted invierte mucho tiempo en ello y no pide nada a cambio,
...
muchos como yo le agradecen por ello.
Google Translate wrote: Hi Paul: Your applications are important to many people, you spend much time on it ...,
...
many like me thank you for it.
My opinion is same as Daniel :arrow:

Thanks amigo Pablo;

please continue to support HMG by helping community :)

Viva HMG :D
Viva INTERNATIONAL HMG :D
Post Reply