Mingだぜ(C言語)
文字を表示する(SWFTextFieldで) Win32環境でMing

私の環境
私がMingをコンパイルした環境はWindowsXP上でMSYSとMinGWを用いたものです。


まずは文字を表示する。UTF用いて日本語を表示します。

#include<stdio.h>
#include"ming.h"

typedef unsigned short wchar;
typedef unsigned char wchar_ming;
int main()
{
  //フラッシュムービー関係
  SWFMovie movie;
  SWFTextField text;
  SWFBrowserFont font;
  //表示する文字の読み出しよう
  wchar_ming *tex;
  FILE *fp;
  int count = 1;
  int i = 0;
  
  //文字データの読み込み
  tex = (signed char*)calloc(sizeof(signed char),100);
  if(NULL ==(fp = fopen("text","rb"))){
      printf("FileNotOpen\n");
      return 0;
    }
 while(count ==1 && i<100){
  count = fread(&tex[i++],sizeof(wchar_ming),1,fp);
   }
  fclose(fp);

  //ここからフラッシュ関係
  Ming_useSWFVersion(6);
  movie = newSWFMovie();
  text = newSWFTextField();
  font = newSWFBrowserFont("utf");

  SWFTextField_setFont(text,(SWFBlock)font);
  SWFTextField_addUTF8String(text,tex);
  SWFMovie_add(movie,(SWFBlock)text);
  SWFMovie_save(movie,"e.swf",-1);
  return 0;
    
}


こんなのができます


SWFTextField_setFlagesをつかう
 TextFieldの特殊な機能を用いるにはSetFlageをもちいます
  //ここからフラッシュ関係
  Ming_useSWFVersion(6);
  movie = newSWFMovie();
  text = newSWFTextField();
  font = newSWFBrowserFont("utf");

  SWFTextField_setFont(text,(SWFBlock)font);
  SWFTextField_addUTF8String(text,tex);
  SWFTextField_setBounds(text,100,100);
  SWFTextField_setFlags(text,SWFTEXTFIELD_DRAWBOX |SWFTEXTFIELD_WORDWRAP);
  SWFMovie_add(movie,(SWFBlock)text);
  SWFMovie_save(movie,"e.swf",-1);
  return 0;
    
}
こんなのができます、(書き足せるようになっているのと端に行くと自動で改稿されます)
  _setFlags関係
ming.hに書かれている以下のようなものが使えます
#define SWFTEXTFIELD_HASFONT (1<<0) /* font and size given */
#define SWFTEXTFIELD_HASLENGTH (1<<1)
#define SWFTEXTFIELD_HASCOLOR (1<<2)
#define SWFTEXTFIELD_NOEDIT (1<<3)
#define SWFTEXTFIELD_PASSWORD (1<<4)//書き込んだ文字は*で表示される
#define SWFTEXTFIELD_MULTILINE (1<<5)
#define SWFTEXTFIELD_WORDWRAP (1<<6) //端っこに行ったら自動で改稿する
#define SWFTEXTFIELD_HASTEXT (1<<7) /* initial text present */
#define SWFTEXTFIELD_USEFONT (1<<8)
#define SWFTEXTFIELD_HTML (1<<9)//HTMLの書式を使えるようにする
#define SWFTEXTFIELD_DRAWBOX (1<<11)//書き込めるようにする
#define SWFTEXTFIELD_NOSELECT (1<<12)
#define SWFTEXTFIELD_HASLAYOUT (1<<13) /* align, margin, lspace, indent */
#define SWFTEXTFIELD_AUTOSIZE (1<<14) /* SWF6 */


まだわからないこと
 SWFTextで日本語を使う方法がまだよくわからない、MIKACHANフォントを FDBに直してから SWFTextを用いると。半角はうまくいくのだけれども、全角がうまくいかない? なぜだ。
 後、SWFTextFieldでfdbフォントを用いる方法がいまいちわからない。

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル