!******************************************************* MACRO MODULE p_getsl(VAR INT status); !* Frågar efter stående eller liggande plotformat. !* !* Ut: 1 = Stående !* 2 = Liggande !* -1 = Avbryt !* !* (C)microform ab 1996-02-02 J. Kjellander !* !* 1996-06-06 Engelska, J.Kjellander !* !******************************************************* STRING rubrik*40,stående*40,liggande*40,avbryt*40; INT rl,sl,ll,al,th,dxm,dym,dxb,dyb,lx,ly, wid,bid1,bid2,bid3,bidx; BEGINMODULE !* !***Textsträngar. !* rubrik:=get_tstr(1583); stående:=get_tstr(1584); liggande:=get_tstr(1585); avbryt:=get_tstr(1586); !* !***Hur stora är dom ? !* rl:=textl_win(rubrik); sl:=textl_win(stående); ll:=textl_win(liggande); al:=textl_win(avbryt); th:=texth_win(); !* !***Hur stora skall tryckknapparna vara ? !***Den längsta texten bestämmer. !* dxb:=sl; if ll > dxb then dxb:=ll; endif; if al > dxb then dxb:=al; endif; dxb:=trunc(1.4*dxb); dyb:=2*th; !* !***Luft mellan knapparna = 1 texthöjd. !* lx:=th; ly:=th; !* !***Hur stort skall huvudfönstret vara ? !***2 knappar brett och 2 knappar högt. !* dxm:=2*dxb + 3*lx; dym:=2*dyb + 3*ly; !* !***I WIN32 hamnar fönsterramar inuti fönstren. !* if act_ostype() = "WIN32" then dxm:=dxm+6; dym:=dym+6; endif; !* !***Först ett huvudfönster. !* wid:=cre_win(vec(100,100),dxm,dym,rubrik); !* !***Å så knapparna. !* bid1:=cre_button(wid,vec(lx,ly),dxb,dyb,2,stående,stående); bid2:=cre_button(wid,vec(dxb+2*lx,ly),dxb,dyb,2,liggande,liggande); bid3:=cre_button(wid,vec(lx,dyb+2*ly),dxb,dyb,2,avbryt,avbryt); !* !***Visa resultatet på skärmen. !* show_win(wid); !* !***Nu lägger vi oss i en loop och väntar på att användaren gör !***något. !* bidx:=wait_win(wid); !* !***Stående ! !* if bidx = bid1 then status:=1; !* !***Liggande ! !* elif bidx = bid2 then status:=2; !* !***Avbryt. !* elif bidx = bid3 then status:=-1; endif; !* !***Slut. !* del_win(wid); ENDMODULE !*******************************************************